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}{return0;}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
Mais nous ne sommes pas concurrents, bien au contraire je souhaite profondément qu'une équipe reprenne les choses en main.
alors je part de ce script ici qui est fonctionnel
tcl
#Durée du Banset spam(bantime)"10"#Phrase du Banset 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{return0}#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]}{return0#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 spammeurset 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\""return0#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]