Pages : 1
#1 Le 30/05/2008, à 17:31
- mansonboy
[IRC] Connexnio avec un script
bonjour, cela fait quelques temps que je recherche de la documentation sur le net sur la connexion a IRC par un script (Python? Shell?). J'aimerai juste que mon script puisse rejoindre un canal et envoyer un message privé a un utilisateur.
Si vous aviez une idée en quoi je pourrais coder ce script et si vous avez un peu de documentations desus sa m'arrangerais. Merci d'avance a vous
Hors ligne
#2 Le 30/05/2008, à 17:36
- philou8237
Re : [IRC] Connexnio avec un script
Tout d'abord, il faut que tu lises la RFC du protocole IRC, histoire de savoir comment fonctionne le protocole. Voila la traduction française :
http://abcdrfc.free.fr/rfc-vf/rfc1459.html
Ensuite, comme d'hab, il te faut un langage ou tu puisses facilement ouvrir une socket, et transférer des données. Evite donc le shell. Par contre après, c'est selon ce que tu préfère comme langage de script, python, perl, ruby, tcl etc... Regarde un peu les framework réseau des différents langage, et fait ton choix en fonction de celui qui te plait.
Regarde bien dans les langages de script puissant si il n'y a pas déjà un module IRC, comme avec le perl par exemple.
Hors ligne
#3 Le 30/05/2008, à 22:37
- mansonboy
Re : [IRC] Connexnio avec un script
Tout d'abord, il faut que tu lises la RFC du protocole IRC, histoire de savoir comment fonctionne le protocole. Voila la traduction française :
http://abcdrfc.free.fr/rfc-vf/rfc1459.htmlEnsuite, comme d'hab, il te faut un langage ou tu puisses facilement ouvrir une socket, et transférer des données. Evite donc le shell. Par contre après, c'est selon ce que tu préfère comme langage de script, python, perl, ruby, tcl etc... Regarde un peu les framework réseau des différents langage, et fait ton choix en fonction de celui qui te plait.
Regarde bien dans les langages de script puissant si il n'y a pas déjà un module IRC, comme avec le perl par exemple.
Merci je vais aller lire ceci par contre je n'ai encore jamais fait de perl, sa se raproche assez de quoi?
Hors ligne
#4 Le 31/05/2008, à 09:35
- philou8237
Re : [IRC] Connexnio avec un script
mmm.... un exemple vaut mieux que tout....
#!/usr/bin/perl -w
## checker.pl for 42sh in /goinfre/domini_j/42sh/trunk/test
##
## Made by julien dominique-lefevre
## Login <domini_j@epita.fr>
##
## Started on Fri Jan 5 13:23:10 2007 julien dominique-lefevre
## Last update Wed Feb 7 11:38:30 2007 julien dominique-lefevre
##
my $sh42;
if (defined $ENV{srcdir}) {
# using autotools then :
use lib "$ENV{srcdir}/modules";
if (opendir TMP, "$ENV{srcdir}/../_build")
{
$sh42 = "$ENV{srcdir}/../_build/42sh";
closedir TMP;
}
else
{
$sh42 = "$ENV{srcdir}/../42sh";
}
} else {
# not using autotools then :
use lib "modules";
$sh42 = "../42sh";
}
use Term::ANSIColor;
use Term::ANSIColor qw(:constants);
use File::Find;
use Getopt::Long;
use Time;
use IPC::Open3;
use strict;
[...]
sub display_usage {
if ( $usage == 1 ) {
display "\n";
display BOLD "usage: ./checker.pl [ -o | --option ] [ -e | --select <categories>+ ] ...\n\n";
display "Options must be as follows:\n\n";
display BOLD "[-c | --categories]:";
display " Display the categories and percentage of successful tests\n";
display " for each of them without displaying the tests.\n";
display BOLD "[-f | --final ]:";
display " Display only the percentage of successful tests for all the tests.\n";
display BOLD "[-n | --number ]:";
display " Display the number of successful tests on the total number of\n";
display " tests instead of percentage.\n";
display BOLD "[-a | --all ]:";
display " Execute the test suite on all categories.\n";
display BOLD "[-d | --details]:";
display " Show the details for each test.\n";
display BOLD "[-w | --false]:";
display " Only show erroneous tests.\n";
display BOLD "[-t | --time <time> ]:";
display " Set <time> has a general timeout time.\n";
display BOLD "[-p | --pick <tests>+]:";
display " Excecute the checker only on the tests passed in argument.\n";
display BOLD "[-e | --select <category>+]:";
display " Execute the moulinette only on the category/ies passed in argument.\n\n";
}
$usage;
}
Bon c un vieux truc. Tu peux coder directement hors de toute fonction, c'est donc exécuter immédiatement. Tu peux également faire des fonctions (en bas, le sub display_usage { }), qu'il faut donc appeller, un peu comme tu appelles une fonction en bash.
La première partie permet de gérer les autotools. La fonction... affiche l'usage du programme (ici c'est un programme de check d'un projet de bourne shell).
Il y a une très bonne doc sur le net, rédigé par un gars de Parinux :
http://sylvain.lhullier.org/publications/perl.html
Voilou,
Dernière modification par philou8237 (Le 31/05/2008, à 09:36)
Hors ligne
#5 Le 31/05/2008, à 09:55
- Clop'
Re : [IRC] Connexnio avec un script
Bonjour,
Une librairie IRC pour Python:
http://sourceforge.net/projects/python-irclib
et un article (en anglais) sur comment l'utiliser :
http://www.devshed.com/c/a/Python/IRC-on-a-Higher-Level/
Dernière modification par Clop' (Le 31/05/2008, à 09:55)
----------------------
Linux on the Root , un site qu'il fait bon feuilleter!
----------------------
PyQtRadio, un lecteur de webradio simple et léger! Installation multi-distrib'
Hors ligne
#6 Le 31/05/2008, à 15:08
- mansonboy
Re : [IRC] Connexnio avec un script
Merci je vais regarder ceci. Par contre le script en perl la c'est du chinois pour moi, j'ai jamais fait de perl encore. Je vais regarder ceci
Hors ligne