AntiClones.tcl Voici le snippet d'un anti clônes.
AntiClones.tcl Voici le snippet d'un anti clônes.
############
# AntiClones.tcl #
# #
############
############
# Configuration #
############
set clone(max) "4"
######
# Bind #
######
# On détecte le join. Pour chaque join, on lance la procédure proc:join.
bind join - * proc:join
##########
# Procédure #
##########
proc proc:join {nick host hand chan} {
# On récupère l'host de la personne.
set userhost [getchanhost $nick $chan]
# On trie en fonction de ce que l'on souhaite récupérer.
set userhost "*!*[string range $userhost [string first @ $userhost] e]"
# On met la variable clonenb à zéro. On définit la variable clonelist comme vide, mais tout de même existante.
set clonelist ""; set clonenb 0
# On lance une boucle pour tous les utilisateurs sur le salon $chan.
foreach user [chanlist $chan] {
# On récupère l'host de $user.
set clonehost [getchanhost $user $chan]
# On trie en fonction de ce que l'on souhaite récuperer.
set clonehost "*!*[string range $clonehost [string first @ $clonehost] e]"
# Si l'host est égal à celui de la personne qui a joint le salon, on incrémente clonenb, et ensuite on ajoute son pseudo à la variable $clonelist.
if { $userhost == $clonehost } { incr clonenb; lappend clonelist $user }
}
# Si la variable clonenb est supérieure au nombre maximum de clônes autorisé défini dans la configuration.
if { $clonenb > $::clone(max) } {
# On vérifie si le bot est opérateur du salon.
if { [isop $::botnick $chan] } {
# On bannit l'host des clônes.
pushmode $chan +b $clonehost
# On kick l'ensemble des personnes reconnues en tant que clônes.
foreach chanclone $clonelist { puthelp "KICK $chan $chanclone :Vous êtes banni. Nombre maximum de connexions atteint ($clonenb) (limitation : $::clone(max)" }
return 0
} else {
puthelp "PRIVMSG $chan :Limitez votre nombre de connexions."
return 0
}
}
}
#######
# Putlog #
#######
putlog "AntiClones.tcl , basé sur le système de Thor.tcl"
# AntiClones.tcl #
# #
############
############
# Configuration #
############
set clone(max) "4"
######
# Bind #
######
# On détecte le join. Pour chaque join, on lance la procédure proc:join.
bind join - * proc:join
##########
# Procédure #
##########
proc proc:join {nick host hand chan} {
# On récupère l'host de la personne.
set userhost [getchanhost $nick $chan]
# On trie en fonction de ce que l'on souhaite récupérer.
set userhost "*!*[string range $userhost [string first @ $userhost] e]"
# On met la variable clonenb à zéro. On définit la variable clonelist comme vide, mais tout de même existante.
set clonelist ""; set clonenb 0
# On lance une boucle pour tous les utilisateurs sur le salon $chan.
foreach user [chanlist $chan] {
# On récupère l'host de $user.
set clonehost [getchanhost $user $chan]
# On trie en fonction de ce que l'on souhaite récuperer.
set clonehost "*!*[string range $clonehost [string first @ $clonehost] e]"
# Si l'host est égal à celui de la personne qui a joint le salon, on incrémente clonenb, et ensuite on ajoute son pseudo à la variable $clonelist.
if { $userhost == $clonehost } { incr clonenb; lappend clonelist $user }
}
# Si la variable clonenb est supérieure au nombre maximum de clônes autorisé défini dans la configuration.
if { $clonenb > $::clone(max) } {
# On vérifie si le bot est opérateur du salon.
if { [isop $::botnick $chan] } {
# On bannit l'host des clônes.
pushmode $chan +b $clonehost
# On kick l'ensemble des personnes reconnues en tant que clônes.
foreach chanclone $clonelist { puthelp "KICK $chan $chanclone :Vous êtes banni. Nombre maximum de connexions atteint ($clonenb) (limitation : $::clone(max)" }
return 0
} else {
puthelp "PRIVMSG $chan :Limitez votre nombre de connexions."
return 0
}
}
}
#######
# Putlog #
#######
putlog "AntiClones.tcl , basé sur le système de Thor.tcl"
Sujets similaires
» Acceder en DCC CHAT
Voici un tutoriel vous permetants de savoir comment accedder en dcc chat.
» Optimiser son code Voici une introduction a l'optimisation d'un code
» Les Stripcodes Voici un tutoriel sur l'utilisation de la commande stripcodes en tcl.
» Optimiser son code Voici une introduction a l'optimisation d'un code
» Les Stripcodes Voici un tutoriel sur l'utilisation de la commande stripcodes en tcl.
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|