Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


Ban sur realname
#1
Alors voile j'ai tester un pti script de Ban sur realname mais a ce que je voie ya pas d'action ... et l'eggdrop ne me montre aucun message d'erreur alors je voie pas ou es l'erreur .... :) au début jai corriger un ptite erreur mais bon sa focntionne toujour pas alors merci de m'aider ^^


tcl
bind join - "#Zet-Land" rn:scan
 
proc rn:scan {nick uhost handle chan} {
   putquick "WHOIS $nick"
   return 0
}
 
bind raw - 311 rn:check
 
proc rn:check {from kw text} {
   set infos [split $text ":"]
   set user [split $infos 0]
   set realname [lindex $infos 1]
   if {$realname 16 F MTL} {
      putquick "SAPART *!*@[lindex $user[2]] #Zet-Land"
   }
   return 1
}
putlog "moderation - Module Ban sur realname chargé... "

#2
bonsoir,
En allant dans la partit "téléchargement" voici ce que j'ai trouvé,peut etre il te sera utile et à toi de l'adapté à ton besoin!

tcl
# Anti Spam away et Realname
##
#
# /!\ Ce script n' a pas de protection un mass join et le bot part en excess flood/!\
# Soit vous faites une protect
# soit votre bot est ircop ;)soit
 
# Definir les SaLons ou l' antispam away et realname est actif
# Séparez par des espaces
# Pour Activer sur tous les salons du bot laissez ""
set chanz ""
 
# La raison du kickban (ou gline)
set rez "Spam Realname ou away!"
 
# Definir les mots clefs suceptibles d' etre du spam
set motz {
"*sexy*"
"*hotmail*"
"*h*t*t*p"
"*http://*"
"*www.*"
"*.com*"
"*.fr*"
"*.org*"
"*.info*"
"*.net*"
"*.br*"
"*.tk*"
"*.euro*"
"*.st*"
}
 
#################################
 
# On bind les joins
if {( $chanz != "" )} {
foreach chanz $chanz {
bind join - "$chanz *" check:join
  }
} else {
bind join - * check:join
}
 
# Le bind raw realname
bind raw - 311 check:real
 
# le bind raw away
bind raw - 301 check:aw
 
proc check:join { nick uhost hand chan } {
 
   # La seule Protection est le choix du puthelp
   # un putquick serait beaucoup plus efficace pour un bot ircop
    variable whonick $nick
    set host [lindex [split $uhost "@"] 1]
    variable whohost "*!*@$host"
    variable whochan $chan
    puthelp "WHOIS $nick $nick"
    return 0
}
 
proc check:real {from key txt} {
  global motz whohost whochan whonick rez
  set rn [string range [join [lrange [split $txt] 5 end]] 1 end]
  regsub -all -- "\003(\[0-9\]\[0-9\]?(,\[0-9\]\[0-9\]?)?)?|\002|\017|\026|\037" $rn "" rn
 
  foreach sp $motz {
    if {[string match -nocase $sp $rn]} {
        # ici ça put un ban et un kick
       # ça pourrait etre un newchanban ou un gline/kline pour un bot ircop
      putquick "MODE $whochan +b $whohost"
      putquick "KICK $whochan $whonick :$rez"
    return 0
    }
}
return 0
}
 
 
# on fait pareiL pour le raw away
 
proc check:aw {from key txt} {
global motz whohost whochan whonick rez
set aw [string range [join [lrange [split $txt] 2 end]] 1 end]
regsub -all -- "\003(\[0-9\]\[0-9\]?(,\[0-9\]\[0-9\]?)?)?|\002|\017|\026|\037" $aw "" aw
foreach sp $motz {
    if {[string match -nocase $sp $aw]} {
      putquick "MODE $whochan +b $whohost"
      putquick "KICK $whochan $whonick :$rez"
    return 0
    }
}
return 0
}
 
putlog "\00314 AntiSpam RealName et Away ¤ \0035 by Che ;)"


Quelque petite recherche parfois sur les anciens threads ou sur le site ect ... fond pas de mal !
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.
#3
heu .. juste à testé (désolé du second thread ):


tcl
proc rn:scan {nick uhost handle chan} {
   putquick "WHOIS $nick"
   return 0
}


essaye

tcl
proc rn:scan {nick uhost handle chan} {
   putquick "WHOIS $nick $nick"
   return 0
}

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.
#4

http://www.eggdrop.fr/board/ban-sur-dete...304-1.html
http://www.eggdrop.fr/board/Bannir-un-us...t-442.html
fedora Wrote:Quelque petite recherche parfois sur les anciens threads ou sur le site ect ... fond pas de mal !
+1
Toute l'actualité de mes scripts ici     (dernière mise à jour le 22/04/2020)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
#5
j'ai une petit question pour vous encore ... si je fait ce code tcl


tcl
bind pub - !restart restart
proc restart { nick host hand channel arg } {
 global vhostchefzone
  foreach vhost $vhostchefzone {
  if [string match -nocase $vhost $host]  {
putlog ".restart"  
}
}



Es-ce que sa risque de fonctionner dans le putlog ou ils faut une autre sorte de code ?
#6
pourquoi "vhostchefzone" ? sais tu au moin ce que le code fait ?

on dirais plutôt un code que tu à prit et essayé de modifié (peut être je me trompe)

tcl
bind pub - !restart  pub:restart
 
proc pub:restart { nick uhost hand chan arg } {
global botnick
if {![matchattr $hand m]} {
  putserv "notice $nick :Désolé !! mais vous n'avez Aucun access"
  return 0
 } else {
  foreach chans [channels] {
    putquick "privmsg $chans :Restart en cOur ... "
   }
  utimer 2 restart
 }	         
}


(avant de modifié n'importe quel code!! essaye deja de comprendre sa fonction ! )
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.
#7
Pour info vhostchefzone = des vhost ^^ et sa pas vrm répondu a ce que je voulais :S et au lieu de me traiter d'inconpétent .... aider moi don a savoir ce sa veux dure au lieu de me caller ;) vrm pas professionel ^^
#8
Quote:Pour info vhostchefzone = des vhost ^^ et sa pas vrm répondu a ce que je voulais :S et au lieu de me traiter d'inconpétent .... aider moi don a savoir ce sa veux dure au lieu de me caller Wink vrm pas professionel ^^

ce que j'ai compris c'est que tu aimerai faire un bind !restart pour restart ton eggy !! chose que le code que tu nous fourni ne fait nullement! !!!
alors soit j'ai pas compris ce que tu voulais ,soit c'est toi qui c'est pas ce que est la cmds "restart"
peut tu m'éclaircir stp sur le faite de restart le vhost du moin les vhost? perso ça sert a rien !!
la cmds restart est faite pour restart ton eggy il me semble !! et la au lieu de te braquer (comme d'habitude ) un merci pour le code fournie ne fait pas de mal !

ensuite étant donné que tu voulais une réponse sur ta question!
Quote:Es-ce que sa risque de fonctionner dans le putlog ou ils faut une autre sorte de code ?

ton code modifié ne fonctionnera pas étant donné que là c'est du n'importe quoi !!
(si je me trompe les admins ou autres personnes connaissant le TCL merci de me reprendre )

cordialement !


ps: (accepte un peut les remarques des personnes qui prenne le temps de t'aider ou voir même certain te fournisses des TCL déjà tout fait !! )
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.
#9
@ fedora : Zen, on a tous eu une mauvaise journée :p
Le but de la liste des vhosts est de vérifier si une personne est dans la liste avant de l'autoriser ou non à utiliser la commande !restart depuis un chan.

@ Babytigrou16 : ton code peut en effet fonctionner (pas testé mais à vue de nez ça devrait être bon) si ta variable vhostchefzone est une liste de hosts bien formée, mais tu devrais choisir un autre nom de procédure que restart pour ne pas provoquer de conflit avec la commande Tcl du même nom.
Et aussi il manque une } pour fermer ta procédure à la fin.

Tu pourrais toutefois te simplifier la vie en créant un handle pour chacune des personnes autorisées :
.+user pseudo_d_un_pote *!*@son_vhost
.chattr pseudo_d_un_pote +m
(pour le mettre master; tu peux choisir un autre niveau, c'est juste un exemple)
et ensuite il te suffira de faire :

tcl
bind pub m|m !restart mon_restart_a_moi
proc mon_restart_a_moi { nick host hand channel arg } {
  putlog "restart"
}

Remplace putlog "restart" par restart tout court quand tu voudras rendre ta commande effective.
Ainsi, toute personne ayant un accès master global ou master sur le chan sera autorisée à utiliser !restart et ça évite de devoir t'embêter à matcher ta liste de vhosts vu que l'eggdrop fait ça pour toi.
babytigrou Wrote:vrm pas professionel ^^
qui est professionnel ici ? nous sommes tous des amateurs, le Tcl ne fait plus vivre son homme de nos jours ^^
Toute l'actualité de mes scripts ici     (dernière mise à jour le 22/04/2020)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
#10
enfin bref merci tu avait raison jai une list de vhost ^^ et jaimerais que la commande match avec le code et ce que tu ma donner sa fonctionnerais si jai bien compris ?
#11
MenzAgitat Wrote:http://www.eggdrop.fr/board/ban-sur-dete...304-1.html
http://www.eggdrop.fr/board/Bannir-un-us...t-442.html
fedora Wrote:Quelque petite recherche parfois sur les anciens threads ou sur le site ect ... fond pas de mal !
+1
C sur mais si je demande de l'aide sur Ban RealName ce que je l'ai essayer et sa fonctionne pas ^^
#12
bonjour,

après avoir testé le TCL si joins:

tcl
# Anti Spam away et Realname
##
#
# /!\ Ce script n' a pas de protection un mass join et le bot part en excess flood/!\
# Soit vous faites une protect
# soit votre bot est ircop ;)soit
 
# Definir les SaLons ou l' antispam away et realname est actif
# Séparez par des espaces
# Pour Activer sur tous les salons du bot laissez ""
set chanz ""
 
# La raison du kickban (ou gline)
set rez "Spam Realname ou away!"
 
# Definir les mots clefs suceptibles d' etre du spam
set motz {
"*sexy*"
"*hotmail*"
"*h*t*t*p"
"*http://*"
"*www.*"
"*.com*"
"*.fr*"
"*.org*"
"*.info*"
"*.net*"
"*.br*"
"*.tk*"
"*.euro*"
"*.st*"
}
 
#################################
 
# On bind les joins
if {( $chanz != "" )} {
foreach chanz $chanz {
bind join - "$chanz *" check:join
  }
} else {
bind join - * check:join
}
 
# Le bind raw realname
bind raw - 311 check:real
 
# le bind raw away
bind raw - 301 check:aw
 
proc check:join { nick uhost hand chan } {
 
   # La seule Protection est le choix du puthelp
   # un putquick serait beaucoup plus efficace pour un bot ircop
    variable whonick $nick
    set host [lindex [split $uhost "@"] 1]
    variable whohost "*!*@$host"
    variable whochan $chan
    puthelp "WHOIS $nick $nick"
    return 0
}
 
proc check:real {from key txt} {
  global motz whohost whochan whonick rez
  set rn [string range [join [lrange [split $txt] 5 end]] 1 end]
  regsub -all -- "\003(\[0-9\]\[0-9\]?(,\[0-9\]\[0-9\]?)?)?|\002|\017|\026|\037" $rn "" rn
 
  foreach sp $motz {
    if {[string match -nocase $sp $rn]} {
        # ici ça put un ban et un kick
       # ça pourrait etre un newchanban ou un gline/kline pour un bot ircop
      putquick "MODE $whochan +b $whohost"
      putquick "KICK $whochan $whonick :$rez"
    return 0
    }
}
return 0
}
 
 
# on fait pareiL pour le raw away
 
proc check:aw {from key txt} {
global motz whohost whochan whonick rez
set aw [string range [join [lrange [split $txt] 2 end]] 1 end]
regsub -all -- "\003(\[0-9\]\[0-9\]?(,\[0-9\]\[0-9\]?)?)?|\002|\017|\026|\037" $aw "" aw
foreach sp $motz {
    if {[string match -nocase $sp $aw]} {
      putquick "MODE $whochan +b $whohost"
      putquick "KICK $whochan $whonick :$rez"
    return 0
    }
}
return 0
}
 
putlog "\00314 AntiSpam RealName et Away ¤ \0035 by Che ;)"

je n'est eu aucune erreur et fonctionne très bien. à tu aussi essayé celui de ArtiX qui à posé dans la partit téléchargement un TCL similaire ?

BadRealname ArtiX
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.
#13
Bonjour

cela fait des mois que j'ai installer ce tcl de ban sur realname et il a toujours bien marcher jusqu'a présent :)

Bon week-end

Cordialement
Gilles


Possibly Related Threads…
Thread Author Replies Views Last Post
  [fractionné] Realname avec CAP extended-join ZarTek 2 107 04/08/2022, 16:51
Last Post: ZarTek
  Changement de realname au join heretoc 13 6,347 26/06/2009, 02:21
Last Post: BlackNight
  ban sur detection de realname bewess 21 10,909 05/05/2009, 13:49
Last Post: bewess

Forum Jump:


Users browsing this thread: 1 Guest(s)