[Xchat] Créé un compteur de ligne par pseudo

cs_Mattis Messages postés 26 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 3 août 2008 - 2 août 2008 à 21:38
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 - 3 août 2008 à 18:54
Bonjour, j'aimerais un script pour Xchat qui permet de compter le nombre de lignes qu'un pseudo a dit.

Du genre je tappe
!cpt_mattis
et ça me donne le nombre de ligne écrites depuis son arrivé

et !cpt_mattis_today
le nombre de ligne écrites aujourd'hui

Merci à ceux qui voudrons bien m'aider ou m'aiguyer vers un script similaire.

Ps désolé si je suis pas dans la bonne section ou autre, je viens pas souvent ici.

6 réponses

cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
3 août 2008 à 01:13
Tu es dans la bonne section, mais la plupart des gens ici font surtout du mIRC, et peu de coding pour Xchat.
Tu as basiquement deux voies, soit compter les lignes dans tes fichiers de logs, soit mettre à jour des compteurs à chaque évènement texte.

La 2e est préférable à mon sens : je n'ai hélas pas encore eu le temps d'essayer l'API Ruby, donc j'essaie de te donner des pistes avec l'API Perl.
Va voir ici pour la doc : http://xchat.org/docs/xchat2-perl.html et ici pour une intro : http://perlfr.free.fr/docs/xchatperlscript.html

Ce que tu cherches à faire ressemblera à ceci :

#!/usr/bin/perl

IRC::add_message_handler("PRIVMSG","mon_compteur");
sub mon_compteur()

{
  my $address = $_[0];
  #traitements éventuels pour isoler le pseudo
  $count[ $address ]++;

}

Garanti 100% non testé (peut-être que Xchat lance les scripts en mode "strict" auquel cas il risque de te sortir des erreurs si le hash %count est pas créé), et ce n'est pas fini : là tu n'as que la partie pour compter, pas celle pour répondre ensuite à une de tes commandes. Mais tu pourras facilement faire cela avec le second lien que je t'ai donné.

Bon courage, j'espère que je t'aurai aidé un peu !
0
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
3 août 2008 à 01:15
Oups, j'ai suivi l'ancienne API (donnée dans le lien 2) au lieu de la nouvelle (dont je t'ai donné la doc dans le lien 1).

IRC::add_message_handler("PRIVMSG","mon_compteur");

serait donc à remplacer par quelque chose du genre :

Xchat::hook_server("PRIVMSG","mon_compteur");
0
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
3 août 2008 à 17:39
salut
stp c'est quoi Xchat??
c'est un serveur?
0
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
3 août 2008 à 17:46
ah ok c'est bon dejà :p j'avais pas eus l'idée de regardé le lien de PADA :/ c'est con XP

donc c'est un client IRC et c'est quoi la difference entre les 2 (xchat et mIRC)

en general je veu dire, si xchat a quelque chose de special que mIRC car je vois la plupart utilise le mIRC
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Mattis Messages postés 26 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 3 août 2008
3 août 2008 à 17:55
Pada est ce que tu peux m'expliquer comment on lance un code ou comment on insere un script shell dans xchat ?

En gros quelle est la démarche pour utiliser ta réponse.

Merci
0
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
3 août 2008 à 18:54
@WorldDMT : Xchat est un client IRC qui permet un scripting en plusieurs langages (il y a des bindings pour Perl, Ruby, Python, C, etc..) et il est disponible sous différentes plateformes (Windows, Mac OS, Linux/Unix, etc) ce qui n'est pas le cas de mIRC (qui n'est prévu pour ne fonctionner que sous Windows).

@Mattis : il faut que ton Xchat ait été compilé avec le support pour le langage (ici Perl). Ensuite dans ton menu "Xchat" tu dois avoir un item "Charger un greffon" ou "load a script" un truc de ce genre. Je n'ai pas Xchat sous la main pour tester. Il faudra au préalable que tu aies mis le code dans un fichier texte de ton choix. Pour le mettre en auto-chargement, cf ici : http://xchat.org/faq/#q218

Si tu n'y connais vraiment rien tu n'arriveras de toute façon pas à utiliser ma réponse, et je te suggère d'abandonner ton idée (sans méchanceté aucune, c'est un peu technique et ma réponse ne fonctionnera pas directement, tu devras l'adapter, donc si tu ne codes pas du tout tu auras du mal).
0
Rejoignez-nous