Anti-Invite
#1
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. Sad
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
}


Si les Cons volaient, certains seraient Chef d'Escadrille !
Répondre Avertir
#2
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 ?
Répondre
#3
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.
Si les Cons volaient, certains seraient Chef d'Escadrille !
Répondre Avertir
#4
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
Si les Cons volaient, certains seraient Chef d'Escadrille !
Répondre Avertir
#5
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.
Répondre Avertir
#6
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)
Répondre
#7
Merci de vos reponses, je vais donc modifier tout ca.
Si les Cons volaient, certains seraient Chef d'Escadrille !
Répondre Avertir
#8
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
Citation :Morice: INVITE SPAM by boulet [boulet@45566756724.net]: invited to

merci de votre aide
Répondre Avertir
#9
Remplace
tcl
set text [lindex [split $args] 1 end]



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



Cordialement DnS
[font=Times New Roman]La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.[/font]
Répondre Avertir


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté