Trigger perl xchat

Contenu du snippet

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 / Exemple :


############# 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

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.