begin process at 2008 05 16 06:39:26
1 173 219 membres
61 nouveaux aujourd'hui
13 970 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

TRIGGER PERL XCHAT


Information sur la source

Description

Ce Script vous permettra d'amuser vos amis avec des triggers marrants
Exemple:
<Mandrack_> !GregPast
<Mandrack> Samouz est un noob-gayzou-nolife-innutil :D

Il permet de reagir sur un evenement textuel et d'y repondre instantanement
Le code est essé simple mais j'ai assé galerer pour trouver comment traiter les données avec xchat et les events ;)

Source

  • ############# Trigger Pluggin V1.00 ###############
  • ## definition du script
  • IRC::register("Trigger Script", "1.00", "", "");
  • IRC::print "\002\0034:: Trigger Script By MaNDraCk Loaded ::\n";
  • ##Declaration des subs
  • sub trigger;
  • sub on_mess;
  • ##Declaration des events et variable
  • IRC::add_command_handler("trigger", "trigger", "");
  • Xchat::hook_print('Your Message', \&on_mess);
  • Xchat::hook_print('Channel Message', \&on_mess);
  • $trigger_status = "on"; #Chargés par defaut
  • sub trigger {
  • $option = $_[0]; #traitement des données envoyée par Xchat
  • if ($option eq 'on') {
  • IRC::print "\002\0031 Activation des triggers\n";
  • $trigger_status = 'on';
  • }
  • elsif ($option eq 'off') {
  • IRC::print "\002\0031 Désactivation des triggers\n";
  • $trigger_status = 'off';
  • }
  • elsif ($option eq 'status') {
  • IRC::print "\002\0033 status du pluggin: $trigger_status";
  • $trigger_status = 'on';
  • }
  • }
  • sub on_mess {
  • $nick = $_[0][0]; #Traitement des donnée envoyée par Xchat
  • $PrivMsg = $_[0][1]; #Traitement des donnée envoyée par Xchat
  • if ($trigger_status eq 'on') {
  • if ($PrivMsg eq '!GregPast') {
  • IRC::command("/SAY Samouz est un noob-gayzou-nolife-innutil :D");
  • }
  • elsif ($PrivMsg eq '!Action_2') {
  • IRC::command("/SAY Seconde reponse");
  • }
  • }
  • Xchat::unhook("Your Message"); #le hook_print Nous empeche de voir le message avec cette commande ceci deviens possible
  • Xchat::unhook("Channel Message");
  • }
############# Trigger Pluggin V1.00 ###############

## definition du script
 IRC::register("Trigger Script", "1.00", "", "");
 IRC::print "\002\0034:: Trigger Script By MaNDraCk Loaded ::\n";
 
##Declaration des subs
 sub trigger;
 sub on_mess;
 
 ##Declaration des events et variable
 IRC::add_command_handler("trigger", "trigger", "");
 Xchat::hook_print('Your Message', \&on_mess);
 Xchat::hook_print('Channel Message', \&on_mess);
$trigger_status = "on"; #Chargés par defaut 

 sub trigger {
	$option = $_[0]; #traitement des données envoyée par Xchat
	
	if ($option eq 'on') {
  	IRC::print "\002\0031 Activation des triggers\n";
	$trigger_status = 'on';	
	}
	elsif ($option eq 'off') {
  	IRC::print "\002\0031 Désactivation des triggers\n";
	$trigger_status = 'off';
	}
	elsif ($option eq 'status') {
  	IRC::print "\002\0033 status du pluggin: $trigger_status";
	$trigger_status = 'on';	
	}
 }	

 
 sub on_mess {
		$nick = $_[0][0];  #Traitement des donnée envoyée par Xchat           
		$PrivMsg = $_[0][1]; 	#Traitement des donnée envoyée par Xchat           

if ($trigger_status eq 'on') {
if ($PrivMsg eq '!GregPast') {
IRC::command("/SAY Samouz est un noob-gayzou-nolife-innutil :D");
}
elsif ($PrivMsg eq '!Action_2') {
IRC::command("/SAY Seconde reponse");
}
}
Xchat::unhook("Your Message"); #le hook_print Nous empeche de voir le message avec cette commande ceci deviens possible
Xchat::unhook("Channel Message");
}

Conclusion

sub trigger;
cette partie permet de gerrer le status du script par simple commandes comme:
/trigger on   #Activation du script
/trigger off  #Desactivation du script
/trigger status #Nous donne le status du script (on ou off)


sub on_mess;
Cette seconde partie nous permet de gerrer nos evenements textuels
  • signaler à un administrateur
    Commentaire de tofu le 18/06/2007 16:44:39

    même si l'utilité de la source en elle même n'est pas forcément top (le concept de trigger pour balancer des "noobz kikolol" sur un salon), ça a le mérite de bien décortiquer comment faire de petits scripts perl pour xchat et ça, ça peut être utile pour démarrer.

    "Le code est essé simple mais j'ai assé galerer pour trouver comment traiter les données avec xchat et les events ;)"

    si tu as des docs (si possible en français ou anglais..) je suis prenneur, ça fait longtemps que j'ai envie de me coller à faire des scripts perl pour mon client mais j'arrive pas à mettre la main sur des docs claires, je trouve que des trucs assez fouillis ou alors sur perl mais pas du tout lié avec xchat et du coup pour faire le rapprochement c'est pas toujours top..

    ps: surtout prends pas mal ma remarque sur l'utilité de la source en elle même, c'est pas du tout agressif ni pour te casser c'était simplement pour souligner par la suite que ça permet de bien montrer les bases du perl pour xchat. ;)

  • signaler à un administrateur
    Commentaire de epitaph le 19/06/2007 02:31:05

    Non je m'en rends compte je voulais juste faire partager mes connaissances sur le sujet
    Pour le perl c'est assez simple de l'apprendre avec une bonne doc mais les scripts pour xchats sont très peu nombreux (de memoire j'ai trouvé que le script away qui ne travail pas avec les variables d'xchat

    Pour la doc la voici: http://www.xchat.org/docs/xchat2-perl.html
    Il faut vraiment lire a fond la doc sur les hooks... Mais surtout beaucoup de test... j'ai vraiment la fleme de faire un tuto :P

    comme exemple de script innutils
    - auto-join on invite
    - Counter-Slaps
    - Counter-HL
    - Anti-Ban

    c'est pratique quand on veux ban un boulet qui chain le /mode +e

  • signaler à un administrateur
    Commentaire de Niamor7 le 20/06/2007 15:51:23

    ça a l'air sympa ^^

  • signaler à un administrateur
    Commentaire de kaeral le 28/08/2007 11:45:42

    Le script en lui même n'est pas très intéressant mais il permet de voir 2-3 script xchat ce qui est rare de nos jours ^^. Mais bon pour le coup peut-être qu'un tuto sur le scripting Xchat aurait été mieu.

  • signaler à un administrateur
    Commentaire de epitaph le 29/08/2007 18:45:21

    En fait elle permet de montrer ce qu'on peut faire avec des xchat
    ici j'ai presenté la source sous forme de triggers-says mais
    IRC::command("/SAY ");
    pourrait devenir
    IRC::command("/GLINE ");
    pour des badworlds ou autres

    Je vais probablement monter un tutoriel pour xchat
    M'enfin je me suis orienté vers les services ... il y a plus a explorer ;)

    Je vous tiens au courant pour le tuto

Ajouter un commentaire

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS