Communauté sur les Eggdrops - Community about Eggdrops
Anti-Invite - Printable Version

+- Communauté sur les Eggdrops - Community about Eggdrops (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)
+--- Thread: Anti-Invite (/showthread.php?tid=344)



Anti-Invite - Asylum - 17/02/2009

Bonsoir,
Je viens vous demander une petite aide. J'avoue etre nouveau dans les Tcl et actuellement j'essaie de mettre en place un tcl qui ban lorsque mon bot recoit une invite d' un user. Par contre, j'aimerai que mon bot envoie la commande à un autre Robot (qui lui est Op et auquel il est auth) pour pouvoir bannir cet user.
Pourriez vous m aider car la je suis un peu perdu et je suis entrain de tout mélanger. :(
Merci beaucoup


tcl
bind pub - * pub:invite
 
proc pub:invite { nick uhost hand chan victim } {
if {"$chan"=="#XXX" && "$victim"=="$::botnick"} {
putquick "PRIVMSG Naholane :BAN $chan $nick Masse Invite"
}
return
}




RE: Anti-Invite - CrazyCat - 18/02/2009

Effetivement, là ton eggdrop va réagir à son nom cité dans un canal (et uniquement son nom, rien d'autre dans la ligne).

Qu'appelles-tu une invite ? un /invite ou un spam pour un autre canal ?


RE: Anti-Invite - Asylum - 18/02/2009

Bonsoir CrazyCat

Pour te repondre c'est en /invite. Pas en spam. J'ai le bien en Pl (invite to me) pour l'invitation sur tel #salon. Mais celui-ci ne réagit pas à celle-ci

Merci pour ton aide.


RE: Anti-Invite - Asylum - 18/02/2009

Désolé, j ai un peu mal écrit avant. Je reprends donc, sur mon bot, en PL celui qui n'est pas Op et qui recoit l'invite ( /invite) j'ai bien le message invite to me sur #Salon.
Pour tout ce qui est AntiSpam, Spam Bot, j'ai des tcl qui tournent très bien en autre celui de fedora pour son antispambot.
Que dois-je changer dans ma proc pour que mon envoie donc le message au bot Op pour se bannissement.
Merci


RE: Anti-Invite - cestlemien - 18/02/2009

salut ,

Dans l'idée , je pense que ça doir être quelque chose du genre :

botnick1 : Reçois un invite => reaction => envois d'une notice ou msg à botnick2 . " spam invit de $nick"

botnick2 : Quand il reçois une notice ou msg de botnick1 comportant "spam invite" , il reagi en kickban "$nick" .

bonne journée.


RE: Anti-Invite - CrazyCat - 18/02/2009

Donc, ton bind n'est pas bon, l'eggdrop ne doit pas réagire à un message en canal (pub) mais à un raw particulier:

tcl
bind raw - INVITE join:invite
 
proc join:invite {from key arg} {
...
}

Bien sûr, il faut donc parser $arg pour retrouver les bons éléments ($from devrait être l'utilisateur, $key sera INVITE)


RE: Anti-Invite - Asylum - 18/02/2009

Merci de vos reponses, je vais donc modifier tout ca.


RE: Anti-Invite - Julien23 - 26/03/2010

Bonjour à tous

j'ai recupéré un TCL pour éviter les mass invites et le probleme que je rencontre il ne dit pas sur le salon log quel chan le bot à était inviter.Quelqu'un aurais une idée svp ?


tcl
bind raw - INVITE show:invite
 
proc show:invite { nick host key args } {
 global botnick si
  set nik [lindex [split $nick !] 0]
  set host [lindex [split $nick !] 1]
  set ban [lindex [split $nick @] 1]
  set text [lindex [split $args] 1 end] 
  foreach ehost $si(except) {
    if {[string match $ehost "$nik!$host"]} { return 0 }
  }
     putserv "PRIVMSG $::SalonLog :INVITE SPAM by\0032 $nik \003\[$host\]: invited to $text"
}


voici ce qu'il me dit sur le chan log
Quote:Morice: INVITE SPAM by boulet [boulet@45566756724.net]: invited to

merci de votre aide


RE: Anti-Invite - fedora - 26/03/2010

Remplace

tcl
set text [lindex [split $args] 1 end]


par

tcl
set text [lindex [split $key] 1 end]


Cordialement DnS