setudef flag blon
bind dcc n blon blon
proc blon {handle idx text}{set chan [lindex[split$text]0] # On vérifie que c'est bien un canal et que l'egg est dessus # Et on crée le fichier qui va bien (tu te débrouilles donc pour le nom de fichier)
channel set$chan +blon
}
Et pour checker les entrées:
tcl
bind join - * blverif
proc blverif {nick uhost handle chan}{if{[channel get $chan blon] == 0}{return0;} # La, on sort si le canal n'est pas en mode blacklist
# Et la suite du traitement si le canal est en mode blackliste}
Mon soucis et plus sur la compréhension des pseudos checker.
Si je rajoute un pseudo Dans un fichier là pas de soucis.
Le soucis c'est si le pseudo et dans le fichier et que l'eggdrop regarde si $salon et activé il ban sur tout les salon.
Donc ont se retrouve avec une blackliste global.
Moi ce que je veut essayer de comprendre c'est de faire une blackliste local.
Faire comme dans ton exemple Crazy serait du global si je comprend ton code.
Mais pas du tout !
Si le canal est en +blon et que le pseudo est dans le fichier du canal (je te rappelle que tu as dit "Ceci va créer un fichier salon.db", donc il y a bien un fichier par salon), tu bannis sur le salon concerné.
Imaginons que tu as #alias et #angelius, tous les deux avec le +blon. Dans le fichier alias.db, il y a alias_angelius mais pas dans le fichier angelius.db.
Si tu arrives sur #alias, tu vas lire alias.db et donc faire un newchanban #alias alias_angelius!*@* "Eggdrop" "Pseudo blacklisté".
Si tu arrives sur #angelius, tu vas lire angelius.db et tu ne trouves pas le nick, donc pas de ban.