Accueil > > > [XCHAT] [PERL] ANTI-KICK + AWAY
[XCHAT] [PERL] ANTI-KICK + AWAY
Information sur la source
Description
Étant donné qu' il n' existe pas beaucoup de scripts en perl pour Xchat ( 3 apparemment ), je mets le miens en ligne ... Il existe déjà un script Away, mais qui utilise l' ancienne lib IRC, alors que ce script utilise la lib Xchat ... Voila ... +
Source
- #!/bin/perl -w
-
- Xchat::register("Script perso", "1.0", "redefinition de /away + anti-kick");
-
- # On met un hook sur la commande "away" et un sur l' evenement "you kicked"
- Xchat::hook_command("away", cmd_away);
- Xchat::hook_print("You Kicked", cmd_kicked);
- my ($hmsg, $hnot);
-
- # Lorsque l' on tape "away" ...
- sub cmd_away{
- my $name;
- # Si l' on est pas encore away, alors
- if((Xchat::get_info(away)) eq ""){
- # on recupere le nick de l' utilisateur
- $name = Xchat::get_info(nick);
- # on envoie la commande "/nick pseudo[away]"
- Xchat::command("nick ".$name."[away]");
- # on mets l' utilisateur en mode away
- Xchat::command("away");
- # on met un hook sur les message des chan et sur les notices ...
- $hmsg = Xchat::hook_server("PRIVMSG", cmd_msg);
- $hnot = Xchat::hook_server("NOTICE", cmd_not);
-
- }else{
- # Sinon ... on recupere le pseudo de l' utilisateur
- $name = Xchat::get_info(nick);
- # On suprimme le "[away]" a la fin
- # on change le nick et on se remet en ligne
- Xchat::command("nick ".substr($name, 0, length($name)-6));
- Xchat::command("back");
- # on supprime les hooks sur les messages recus sur les chans
- Xchat::unhook($hmsg);
- Xchat::unhook($hnot);
- }
- return Xchat::EAT_NONE;
- }
-
- # lorsque l' on est kické
- sub cmd_kicked{
- # On affiche la phrase tu as été kické de "nom du chan"
- Xchat::print("Tu as été kické !!!! de $_[0][1]\r\nReconnection...");
- # on se reconnecte au chan immediatement
- Xchat::command("join ".$_[0][1]);
- # on envoie une notice a celui qui nous a kické pour lui dire qu' on est pas content :p
- Xchat::command("notice ".$_[0][2]." Plus jamais tu me kick toi ... :@");
- return Xchat::EAT_NONE;
- }
-
- # lorsque l' on est away et que qqun envoie un message sur le chan ...
- sub cmd_msg{
- my ($netw, $serv);
- # Si le message comprends les 4 premieres lettres du pseudo ( pour moi "gero" a changer en fonction du votre ...)
- # et que ce n' est pas vous qui avez envoyé le msg
- if(($_[1][3] =~ m/gero/i)&&(!($_[0][0] =~ m/Xchat::get_info(nick)/))){
- $netw = Xchat::get_info(network);
- $serv = Xchat::get_info(server);
- # si le message n' est pas un message en PV, alors on affiche le message dans l' onglet general du serveur
- if($_[0][2] ne Xchat::get_info(nick)){
- Xchat::print("Chan:$_[0][2]::$_[0][0]::$_[1][3]\r\n", $netw, $serv);
- }
- }
- # On retourne toutes les infos pour que l' evenement suive son cours...
- return Xchat::EAT_NONE;
- }
- #lorsque l' on est away et que l' on recois une notice, on l' affiche egalement dans l'onglet general du serveur
- sub cmd_not{
- my ($netw, $serv);
- $netw = Xchat::get_info(network);
- $serv = Xchat::get_info(server);
- Xchat::print("NOTICE::Chan:$_[0][2]::$_[0][0]::$_[1][3]\r\n", $netw, $serv);
- return Xchat::EAT_NONE;
- }
-
- # Au demarrage du script, on indique que le script est chagé.
- Xchat::print("Script perl chargé !");
#!/bin/perl -w
Xchat::register("Script perso", "1.0", "redefinition de /away + anti-kick");
# On met un hook sur la commande "away" et un sur l' evenement "you kicked"
Xchat::hook_command("away", cmd_away);
Xchat::hook_print("You Kicked", cmd_kicked);
my ($hmsg, $hnot);
# Lorsque l' on tape "away" ...
sub cmd_away{
my $name;
# Si l' on est pas encore away, alors
if((Xchat::get_info(away)) eq ""){
# on recupere le nick de l' utilisateur
$name = Xchat::get_info(nick);
# on envoie la commande "/nick pseudo[away]"
Xchat::command("nick ".$name."[away]");
# on mets l' utilisateur en mode away
Xchat::command("away");
# on met un hook sur les message des chan et sur les notices ...
$hmsg = Xchat::hook_server("PRIVMSG", cmd_msg);
$hnot = Xchat::hook_server("NOTICE", cmd_not);
}else{
# Sinon ... on recupere le pseudo de l' utilisateur
$name = Xchat::get_info(nick);
# On suprimme le "[away]" a la fin
# on change le nick et on se remet en ligne
Xchat::command("nick ".substr($name, 0, length($name)-6));
Xchat::command("back");
# on supprime les hooks sur les messages recus sur les chans
Xchat::unhook($hmsg);
Xchat::unhook($hnot);
}
return Xchat::EAT_NONE;
}
# lorsque l' on est kické
sub cmd_kicked{
# On affiche la phrase tu as été kické de "nom du chan"
Xchat::print("Tu as été kické !!!! de $_[0][1]\r\nReconnection...");
# on se reconnecte au chan immediatement
Xchat::command("join ".$_[0][1]);
# on envoie une notice a celui qui nous a kické pour lui dire qu' on est pas content :p
Xchat::command("notice ".$_[0][2]." Plus jamais tu me kick toi ... :@");
return Xchat::EAT_NONE;
}
# lorsque l' on est away et que qqun envoie un message sur le chan ...
sub cmd_msg{
my ($netw, $serv);
# Si le message comprends les 4 premieres lettres du pseudo ( pour moi "gero" a changer en fonction du votre ...)
# et que ce n' est pas vous qui avez envoyé le msg
if(($_[1][3] =~ m/gero/i)&&(!($_[0][0] =~ m/Xchat::get_info(nick)/))){
$netw = Xchat::get_info(network);
$serv = Xchat::get_info(server);
# si le message n' est pas un message en PV, alors on affiche le message dans l' onglet general du serveur
if($_[0][2] ne Xchat::get_info(nick)){
Xchat::print("Chan:$_[0][2]::$_[0][0]::$_[1][3]\r\n", $netw, $serv);
}
}
# On retourne toutes les infos pour que l' evenement suive son cours...
return Xchat::EAT_NONE;
}
#lorsque l' on est away et que l' on recois une notice, on l' affiche egalement dans l'onglet general du serveur
sub cmd_not{
my ($netw, $serv);
$netw = Xchat::get_info(network);
$serv = Xchat::get_info(server);
Xchat::print("NOTICE::Chan:$_[0][2]::$_[0][0]::$_[1][3]\r\n", $netw, $serv);
return Xchat::EAT_NONE;
}
# Au demarrage du script, on indique que le script est chagé.
Xchat::print("Script perl chargé !");
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
events pour xchat en perl [ par Jamu ]
Salut a tous Je me suis mis au perl il y a peu de temps et ce que je voudrais fair c virer les evenements textuel d'origine de mon xchat pour me coder
add_handler - Script Perl pour Xchat [ par advi ]
Bonjour à tous,j'ai créé un script Perl pour Xchat. Il fonctionne parfaitement, j'ai juste un probleme.Je suis capable de déclencher mon script sur de
recuperer l'host en perl (xchat) [ par aeled ]
J'essaie de faire une commande en perl qui récupere l'host d'un user placé en parametre.en gros /host [nick] doit renvoyer un truc du style : *!*@xxx.
Auto ban sauf les +ao [ par CorB3n ]
Salut à tous,Je recherche un remote afin d'auto bannir automatiquement les personnes joignant le chan, sauf ceux qui ont un chanlev sur @L (+ao en l'o
Kick une personne qui ecrit en rouge [ par romeomd ]
Bonjours, j'aimerais avoir un On Text pour kicker un personne qui ecrit en rouge sur un salon en particulier. Pcq la plupart des tricheurs de quizz so
Aidez moi [ par reva94 ]
kelk1 pourai me crée un anti flood : - au bout de 4 phrases en flood il le kick ban 5 min anti-pub : 1 er pub Qui avertit 2 eme pub qui kick 3 emem p
Don't iddle [ par angeldavid ]
Bonjour, je voudrais faire un truc tout simple, mais il me faut votre aide, j'aimerai faire un don't iddle, j'ai déja commencer :on 1:join:#support.ho
Détecteur de clônes (xchat) [ par Nebula ]
Bonsoir à tous,J'essaie de faire un plugin pour X-Chat qui détecterait les clônes (j'ose espérer qu'il n'y a pas que des mircistes ici ?). Pour ce fai
repetition de frase et 1 kick simple [ par empreur_noir ]
slt a toutes et a tous je suis nouvo sur ce sitez g 2 question a poser - premiere comment peux t'on faire pour que mon script detecte
probleme de ($nick unknown command [ par J4Gu4R ]
voila dans ma remote un évenement de kickon *:KICK:*:{ if ($knick == $me) { echo -s je me fais kick } elseif ($nick == $me) { echo -s je ki
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Forum
RE : AIDERE : AIDE par Nico26000
Cliquez pour lire la suite par Nico26000 RE : AIDERE : AIDE par WorldDMT
Cliquez pour lire la suite par WorldDMT AIDEAIDE par Nico26000
Cliquez pour lire la suite par Nico26000
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|