bannissement sur le fail ou l'host d'un membre
#5
Bonjour Lesny,

Y'avait un sacré moment.

Donc un système qui ban même si la personne a le même pseudo et son host et différent et l'eggdrop le ban sur le nouvel host en faite si j'ai bien compris.

Oui c'est possible Smile

Je vais te donner un code qui été au début le Gestion.Bot qui au début fessait ça bon s'pa du grand truc mais je pense que sa sera ce que tu cherche.

PS : c'est un système de blacklist qui fonctionne sur salon et qui enregistre dans les bans eggdrop et non dans un fichier comme j'ai eut fut un moment.

Voice le code :

tcl
bind PUB - .+blacklist +bl
proc +bl { nick uhost hand chan text } {
global botnick
set hpseudo [lindex [split $nick |] 0]
if [validuser $hpseudo] {
if [matchattr $hand o|m $chan] {
if [string match -nocase *!*@* [lindex $text 0]] {
newchanban $chan [lindex $text 0] $nick {Pseudo Blacklisté !} 0
putquick "NOTICE $nick :Blacklist ajouté : [lindex $text 0] !"
} else {
newchanban $chan [lindex $text 0]!*@* $nick "Pseudo Blacklisté ([lindex $text 0]) !" 0
newchanban $chan [lindex $text 0]|*!*@* $nick "Pseudo Blacklisté ([lindex $text 0]) !" 0
putquick "NOTICE $nick :Blacklist ajouté : [lindex $text 0]!*@* !"
putquick "NOTICE $nick :Blacklist ajouté : [lindex $text 0]|*!*@* !"
 
}
} else {
putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Master sur $chan requis) !"
}
} else {
putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
}
}
 
bind PUB - .blacklist blist
proc blist { nick uhost hand chan text } {
global botnick
set hpseudo [lindex [split $nick |] 0]
if [validuser $hpseudo] {
if [matchattr $hand o|o $chan] {
if {[llength [banlist $chan]]==0} {
putserv "NOTICE $nick :Aucune entrée dans la blacklist de $chan !"
} else {
putquick "PRIVMSG $nick :2\[ 1Liste des Blacklists sur 4$chan 2\]"
foreach bl [banlist $chan] {
if [isbotnick [lindex $bl 5]] {
set nb $botnick 
} else {
if [string match -nocase *|* [lindex $bl 5]] {
set idpseud [string first | [lindex $bl 5]]
set idpseudo [expr ($idpseud - 1)]
set pseuok [string range [lindex $bl 5] 0 $idpseudo]
set nb $pseuok
} else {
set idpseud [string first | [lindex [getuser [lindex $bl 5] HOSTS] 1]]
set idpseudo [expr ($idpseud - 1)]
set pseuok [string range [lindex [getuser [lindex $bl 5] HOSTS] 1] 0 $idpseudo]
set nb $pseuok
}
}
set raison [lindex $bl 1]
if [string equal ! [lindex $raison 2]] {
putserv "PRIVMSG $nick :(Non défini) : [lindex $bl 0] (Ajouté par $nb)"
} else {
putserv "PRIVMSG $nick :[lindex $raison 2] : [lindex $bl 0] (Ajouté par $nb)"
}
}
putserv "PRIVMSG $nick :2\[ 1Fin des Blacklists sur 4$chan 2\]"
}
} else {
putquick "PRIVMSG $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Opérateur sur $chan requis) !"
}
} else {
putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
}
}
 
bind PUB - .-blacklist -bl
proc -bl { nick uhost hand chan text } {
global botnick
set hpseudo [lindex [split $nick |] 0]
if [validuser $hpseudo] {
if [matchattr $hand o|o $chan] {
if [isban [lindex $text 0] $chan] {
killchanban $chan [lindex $text 0]
putquick "PRIVMSG $::niubot_chan(${chan}) :unban [lindex $text 0] $chan"
putquick "NOTICE $nick :Blacklist supprimé : [lindex $text 0] !"
} else {
if [isban [lindex $text 0]!*@* $chan] {
foreach bbl [banlist $chan] {
if [string match -nocase ([lindex $text 0]) [lindex [lindex $bbl 1] 2]] {
killchanban $chan [lindex $bbl 0]
putquick "PRIVMSG $::niubot_chan(${chan}) :unban [lindex $bbl 0] $chan"
putquick "NOTICE $nick :Blacklist supprimé : [lindex $bbl 0]"
}
}
} else {
putquick "NOTICE $nick :Ce ban ne figure pas dans la Blacklist de $chan !"
}
}
} else {
putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Master sur $chan requis) !"
}
} else {
putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
}
}
 
bind JOIN - * bljoin
proc bljoin { nick uhost hand chan } {
global botnick
if [isban $nick!*@* $chan]||[isban $nick|*!*@* $chan]||[isban $nick*!*@* $chan] {
if [string match -nocase *|* $nick] {
set idpseud [string first | $nick]
set idpseudo [expr ($idpseud - 1)]
set pseuok [string range $nick 0 $idpseudo]
set nb $pseuok
} else {
set nb $nick
}
newchanban $chan *![getchanhost $nick] $botnick "Pseudo Blacklisté ($nb) !" 0
putquick "PRIVMSG Robot :ban *![getchanhost $nick] $chan"
putquick "PRIVMSG Robot :ban $nb!*@* $chan"
putquick "PRIVMSG Robot :ban $nb|*!*@* $chan"
}
}



A modifié à ta sauce.
Répondre Avertir


Messages dans ce sujet
RE: bannissement sur le fail ou l'host d'un membre - par aliasangelius - 09/06/2011, 16:12

Atteindre :


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