Communauté Eggdrop

Version complète : Obtenir la liste ds users
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Bonjour,

Est-il possible, uniquement par une commande en party line, d'obtenir la liste des users d'un chan gardé par un eggdrop, ainsi que de leurs modes respectifs (ops, voices....), ou n'y a-t-il pas d'autres moyen que de passer par la programmation? Et ce, afin de faire faire par le robot une requête genre names #chan ou who #chan pour pouvoir récupérer les raws correspondants , via un bind raw? Mon objectif est de passer par une page cgi (avec gestion des sockets) pour faire ce travail: j'ai déjà appliqué la dernière solution, mais peut être existe-t-il une solution déjà prête, plus élégante et plus rapide?

Merci d'avance de vos réponses et bonne journée,

PC
salut

tcl
proc channellist chan {
   if ![validchan $chan] return
   foreach nick [chanlist $chan] {
      if [isop $nick $chan] {
         lappend nicks @$nick
         continue
      }
      if [isvoice $nick $chan] {
         lappend nicks +$nick
         continue
      }
      if [ishop $nick $chan] {
         lappend nicks %$nick
         continue
      }
      lappend nicks $nick
   }
   return $nicks
}



ensuite en pl tu tape
Code :
.tcl channellist #salon
Ou plus simple :
tcl
.tcl chanlist <chan> [flags]


ca retournera la liste des users qui on tel ou tel flag mais pas une liste complete avec le chanmode pour chaque user comme la commande /names #chan
En effet, j'avais pas vu qu'il voulait aussi le mode accolé au nick.
Merci pour vos réponses... cela signifie de fait qu'il n'existe pas de commande simple toute prête pour obtenir le résultat recherché. Je ne cherche pas spécialement à ce que les flags soient accolés aux pseudos , genre @toto: une information telle que toto +o me convient aussi.
après tu peux ajouter un bind dcc
tcl
bind dcc - cliste get_cliste
 
proc get_cliste {hand idx arg} {
   putdcc $idx [channellist [lindex $arg 0]]
}
 
proc channellist chan {
   if ![validchan $chan] return
   foreach nick [chanlist $chan] {
      if [isop $nick $chan] {
         lappend nicks @$nick
         continue
      }
      if [ishop $nick $chan] {
         lappend nicks %$nick
         continue
      }
      if [isvoice $nick $chan] {
         lappend nicks +$nick
         continue
      }
      lappend nicks $nick
   }
   return $nicks
}



il te suffiras juste de taper ".cliste #salon" en pl et ca te retourneras une liste du genre
Code :
@pseudo1 +pseudo2 +pseudo3 %pseudo4 ...etc...