Sockets: opérateurs isop, isvoice, ishop, ison...

punk6_2 Messages postés 65 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 1 décembre 2007 - 19 avril 2007 à 19:29
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 - 26 avril 2007 à 01:41
Salut à tous,
Voilà, je script un petit bot mirc en socket, mais je me retrouve face à un problème. Effectivement, vous devez savoir que dans les sockets, les opérateurs des comparateurs If-Then-Else isop, isvoice, ishop, ison ne fonctionnent pas. Alors j'ai consulté d'autres bots socket et j'y ai réfléchi et j'ai pensé à des identifieurs par exemple $isop(nick,chan), $isvoice(nick,chan)... et l'on m'a "éclairé", en me disant d'utiliser /sockwrite -n $sockname WHO chan et ensuite le raws 352. Mais cela reste confus quand même, alors si quelqun pourrait m'eclairer en me donnant d'autres indices ou des exemples ça serait sympa ! Merci d'avance ...

2 réponses

cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
19 avril 2007 à 19:55
Ben avec ta socket tu envoie exactement ce qu'on ta dis, cad un who sur le salon
ensuite dans la raw 352, si la socket existe, tu fait tes conparaisons :

raw 352:*:{
if ($socket(tasocket)) {
var %r = $remove($7,H,r,G,*,d)
echo -a > axx : %r
 }
}
apres tu peux faire :
if (~ isin %r) echo -a owner
elseif (& isin %r) echo -a admin
elseif (@ isin %r) echo -a op
etc...
0
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
26 avril 2007 à 01:41
Les clients IRC ne font pas de /who automatique en général. Un "/names" suffit, je ne sais plus le numéro du RAW de réponse. Je me demande même si les "names" sont pas envoyés automatiquement, tout est à vérifier.
De toute facon, tu devras gérer toi même une liste interne d'utilisateurs.

A noter que tu auras un problème (qui existe également sur mIRC, souci dans l'implémentation de la RFC probablement) :
- si User est voicé sur #salon
- puis Opé sur #salon
- le /names renvoie @User, et s'il se déope, les gens qui ont /join après son opage ne le verront pas voicé, alors que les autres si.
Enfin c'est un détail... ;o)

PaDa
0
Rejoignez-nous