Communauté Eggdrop
demande aide script tcl - Version imprimable

+- Communauté Eggdrop (https://forum.eggdrop.fr)
+-- Forum : Eggdrop et TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum : Scripts TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Sujet : demande aide script tcl (/showthread.php?tid=353)



demande aide script tcl - Cyril - 05/03/2009

Bonjour a tous je me suis permit de prendre un script sur ce forum

http://www.eggdrop-fr.org/phpBB2/viewtopic.php?t=1498&postdays=0&postorder=asc&start=0

je sais que il est completement différent de votre foprum mais on ma dit de venir poster ici mon problème ( CrazyCat )

donc oui j'ai essayer pas mal de chose cette après-midi pour résoudre cela

en fait je voudrai que ce script de retour depub ne "modère " que sur un seul channel

j'ai tester pas mal de choses mais sans résultat ou erreur

Merci bien a vous


RE: demande aide script tcl - CrazyCat - 05/03/2009

Donc, pour résumer, tu pars de:
TCL
bind pubm - "* # *" pub:retourpub
proc retourpub {nick host handle channel arg} {
   if {[string match *#* $text]} {
      global spamchan spamnick
      set spamchan "[lindex $arg 0]"
      set spamnick "[lindex $arg 1]"
      channel add $spamchan
      utimer 5 msg
   }
}
 
proc msg {} {
   global spamchan spamnick
   putserv "PRIVMSG $spamchan :Spam détecté de la part de $spamnick . Retour de spam : Venez sur pied-davoine2"
   utimer 5 quittt
}
 
proc quittt {} {
   global spamchan spamnick
   channel remove $spamchan
}


Et tu voudrais que ça n'agisse que sur un seul canal ?

Donc, ça pourrait donner:
TCL
set mychan "#canal"
bind pubm - "* #*" pub:retourpub
proc retourpub {nick host handle channel arg} {
   if {[string tolower $channel] != $::mychan} { return 0; }
   if {[string match *#* $text]} {
      global spamchan spamnick
      set spamchan "[lindex $arg 0]"
      set spamnick "[lindex $arg 1]"
      channel add $spamchan
      utimer 5 msg
   }
}
 
proc msg {} {
   global spamchan spamnick
   putserv "PRIVMSG $spamchan :Spam détecté de la part de $spamnick . Retour de spam : Venez sur pied-davoine2"
   utimer 5 quittt
}
 
proc quittt {} {
   global spamchan spamnick
   channel remove $spamchan
}


En ce qui concerne le msg et le quit, tu ne peux pas faire grand chose vu que c'est plus ou moins indépendant du canal.

Mais je crois qu'il y a sur ce forum un tcl d'anti-pub.

Nota Bene: eggdrop-fr.org et eggdrop.fr ne sont pas différents, ils ne feraient qu'un si certains (je ne balancerait pas) n'avaient pas paumé les clés d'eggdrop-fr Very Happy
Mais nous ne sommes pas concurrents, bien au contraire je souhaite profondément qu'une équipe reprenne les choses en main.


RE: demande aide script tcl - Cyril - 05/03/2009

alors je part de ce script ici qui est fonctionnel

TCL
#Durée du Ban
set spam(bantime) "10"
#Phrase du Ban
set spam(banmsg) "Le Spam, Les Invites, Les Publicités et autres sont INTERDIT"

#Procédure de détection des spams publics
bind pubm - * pubm:respam
proc pubm:respam {nick uhost hand chan arg} {
global spamchan spamnick spam botnick
#on cherche un éventuel salon dans la phrase...
  set args [split $arg]
    if {[lsearch $args *#*] != -1} {
       set spamchan [lsearch -all -inline $args #*]
       regsub -all \{ $spamchan "" spamchan
      regsub -all \} $spamchan "" spamchan
#si pas de salon trouver on stop la procédure...
    } else {
    return 0
    }
#si un salon est trouver, on vérifie que le salon fait partie des chans enregistrés du bot donc ou le retour de spam #est inutile...
    if {[validchan $spamchan]} {
    return 0
#si le salon n'en fait pas partie, on lance le retour de spam avec ou sans ban et +im
    }
#On vérifie que le bot est op et que le spammeur ne fait pas partie des utilisateurs enregistrés. Si ces 2 conditions sont remplies on #lance la procédure de +im et de ban. Sinon on applique la procédure de retour de spam normal...
    if {[botisop $chan] && (![validuser $hand])} {
#Mise en place du +im et annonce
        putserv "PRIVMSG $chan :Le Salon a été mis en Modéré \(+m\) Pour eviter le Flood et en Invit \(+i\) Pour eviter l'autojoin du Floodeur"
          putquick "MODE $chan +im"
#on set l'host et le nick du spammeur
              set hostban *!*@[lindex [split $uhost @] 1]
               set spamnick $nick
#on pose le ban
            newchanban $chan $hostban $botnick "Spammeur" $spam(bantime)
#on kick le spammeur
          putserv "KICK $chan $nick :$spam(banmsg)"   
#on lance le timer pour enlever le +im et on l'annonce sur le salon
        utimer 7 "putserv \"mode $chan -mi\""
         putserv "PRIVMSG $chan :Ok c'est bon le Salon Rouvre dans 20s (-mi)"
#on ajout le salon pour le retour de spam
            channel add $spamchan
#on lance le timer de réponse au spam
           utimer 10 "putquick \"PRIVMSG $spamchan :Spam détecté de la part de \002$spamnick\002. Retour de spam : Venez sur \002#pied-davoine2\002\""
#on lance le timer pour que l'egg parte du salon
          utimer 12 "channel remove \"$spamchan\""
        return 0
#Si l'egg n'est pas op et le pseudo ne fait pas partie des utilisateurs de l'eggdrop on ne fait que le retour de spam
     } else {                   
      set spamnick $nick
      channel add $spamchan
      utimer 6 "putquick \"PRIVMSG $spamchan :Spam détecté de la part de \002$spamnick\002. Retour de spam : Venez sur \002#pied-davoine2\002\""
      utimer 10 "channel remove \"$spamchan\""
 }
}



j'ai juste enlever la fonction kick et ban car ayant un autre bot qui annonce les partenaire çà le kickait lui aussi [/code]


RE: demande aide script tcl - Cyril - 07/03/2009

Personne a une idée ?