Récupération de la liste de chan
#1
Bonsoir, je cherche une solution simple pour récupérer la liste des chan ou se trouve mon bot en tcl.
je m'explique :
en fait je veux simplement que mon bot envoie un message sur tout les chans ou il se trouve.
voila merci Smile
Répondre Avertir
#2
Il existe la commande channels qui te retourne la liste de tous les canaux de l'eggdrop, mais même ceux qui sont en +inactive.
Il faut donc faire:
tcl
foreach chan [channels] {
   if { [channel get $chan inactive] == 0 } {
      putserv "PRIVMSG $chan :ton message"
   }
}



Tu peux aussi vérifier la présence réelle de ton eggdrop en remplaçant la condition par:
tcl
if { [botonchan $chan] } {


Répondre
#3
Merci bien, ça fonctionne Smile
mais en fait j'avais trouver le "Channels" mais mon pb c’était que le nom du 1er chan était renvoyé avec des { } et je voulais les 'filtrer'.
en gros , comment supprimer un caractère dans une chaine.
Répondre Avertir
#4
Il s'agit d'une liste, donc il faut la traiter en tant que tel avec le foreach.
Sinon, tu peux la transformer en texte en utilisant:
tcl
set txtchan [join [channels]]


Mais comme ensuite il faut faire un split pour pouvoir récupérer chaque élément, c'est un peu inutile.
Répondre
#5
ok merci je vais garder ta 1ere réponse Smile sinon j'ai un truc qui marche pas , je sais pas pourquoi.
j'utilise
Bind evnt - prerestart restart
et donc après dans ma proc je met ce que tu m'as donner plus haut, le truc c'est ça fonctionne pas, par contre avec un prerehash ça fonctionne.
alors je sais pas trop pourquoi.

edit : je crois que j'ai compris en fait, il quit les chan donc il peut plus envoyer de messages dessus ! suis nul lol
Répondre Avertir


Atteindre :


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