Communauté Eggdrop

Version complète : demande aide script tcl
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Bonjour a tous je me suis permit de prendre un script sur ce forum

http://www.eggdrop-fr.org/phpBB2/viewtop...sc&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
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.
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]
Personne a une idée ?