je voudrais savoir si vous auriez un tcl qui bannisse un membre sur sont FAI ou sont host CAD même si la personne change de pseudo l'eggdrop scannera sont host et le banniera
je voudrais aussi savoir si il existe un tcl qui permet de taper les commands pl dans un salon car j'ai le tcl "bannicknotify.tcl"
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
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$text0]]{
newchanban $chan[lindex$text0]$nick{Pseudo Blacklisté !}0
putquick "NOTICE $nick :Blacklist ajouté : [lindex $text 0] !"}else{
newchanban $chan[lindex$text0]!*@*$nick"Pseudo Blacklisté ([lindex $text 0]) !"0
newchanban $chan[lindex$text0]|*!*@*$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$bl5]]{set nb $botnick}else{if[string match -nocase *|*[lindex$bl5]]{set idpseud [string first | [lindex$bl5]]set idpseudo [expr($idpseud - 1)]set pseuok [string range [lindex$bl5]0$idpseudo]set nb $pseuok}else{set idpseud [string first | [lindex[getuser [lindex$bl5] HOSTS]1]]set idpseudo [expr($idpseud - 1)]set pseuok [string range [lindex[getuser [lindex$bl5] HOSTS]1]0$idpseudo]set nb $pseuok}}set raison [lindex$bl1]if[string equal ![lindex$raison2]]{
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$text0]$chan]{
killchanban $chan[lindex$text0]
putquick "PRIVMSG $::niubot_chan(${chan}) :unban [lindex $text 0] $chan"
putquick "NOTICE $nick :Blacklist supprimé : [lindex $text 0] !"}else{if[isban [lindex$text0]!*@*$chan]{foreach bbl [banlist $chan]{if[string match -nocase ([lindex$text0])[lindex[lindex$bbl1]2]]{
killchanban $chan[lindex$bbl0]
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 $nick0$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"}}
Alias_angelius tiens donc la dernière personne au monde a qui j'attendais une réponse je suis surpris enfin merci beaucoup pour ton code au plaisir un jour de re travailler avec toi =)
je viens de tester ton code et en pl quand je veux retiré le bl j'ai
[19:26] <Clara> [19:26:35] Tcl error [-bl]: can't read "::niubot_chan(#accueil)": no such variable
édite j'ai compris mon erreur car je taper .-blacklist pseudo
Au niveau de la proc .-blacklist
En faite le système si tu as un autre bot à qui il peut poser/retiré des bans comme tu la citer plus haut dans ton post il fait ça.
Donc si tu change genre $::niubot_chan(${chan}) par Robot si le bot et Robot cela fonctionnera.
Test en fesant un new eggdrop tu verras le résultat.
En gros :
Tu prends ton bot qui sera @ ont va dire prout
Et tu auras Robot un eggdrop de base sans rien en tcl etc dedans que tu mettras @ aussi.
Une fois le tout fait test en modifiant comme je t'ai dit tu verra le résultat
oui sa va je me débrouille bien mais bon comme tous on n'as toujours besoin d'en apprendre plus comme toi tu te débrouille super bien en tcl mais tu as encore beaucoup de chose a apprendre =)
Enfin ici ce n'est pas un salon de discutions on risque de se faire tiré les oreilles =)