Débutez dans IRC/Version imprimable
Une version à jour et éditable de ce livre est disponible sur Wikilivres,
une bibliothèque de livres pédagogiques, à l'URL :
https://fr.wikibooks.org/wiki/D%C3%A9butez_dans_IRC
Qu'est-ce qu'IRC ?
Nous allons commencer notre apprentissage d'IRC par une présentation de son fonctionnement général, puis nous verrons comment installer Pidgin sur son ordinateur.
IRC, pour quoi faire ?
IRC, né fin aout 1988, est l'abréviation du terme anglais Internet Relay Chat (« discussion relayée par Internet »). Il permet de dialoguer avec d'autres utilisateurs distants par le biais d'un ordinateur connecté à Internet. La discussion est instantanée, contrairement aux e-mails : une discussion sur IRC se déroule à la manière d'une conversation orale habituelle. Un message envoyé est immédiatement reçu par son destinataire.
IRC est principalement utilisé pour la discussion à plusieurs dans des salons de discussion[1] (également nommés canaux ou channels). Cependant, il permet aussi la discussion privée entre deux utilisateurs ainsi que l'échange de fichiers. C'est ainsi un moyen privilégié par les communautés Internet pour la coordination de leurs projets.
Fonctionnement d'IRC
L'IRC est un protocole, c'est-à-dire d'un ensemble de règles permettant à plusieurs ordinateurs de communiquer entre eux. Pour fonctionner, IRC repose sur un réseau, c'est-à-dire sur de nombreux serveurs[2] reliés entre eux. Ces serveurs, répartis sur l'ensemble de la planète, hébergent et relayent entre eux les communications des utilisateurs. Chacun a un nom, du type nom.réseau.com.
Ainsi, dans notre exemple, un message transitant de Los Angeles à Manchester passera par les serveurs homard, cabillaud, thon et arrivera enfin chez sardine[3]. Cependant, nous avons ici pris le cas d'une « discussion » entre deux serveurs ; or, votre ordinateur comme celui de votre contact n'en est pas un. Pour envoyer ou recevoir un message, il est donc nécessaire de connecter votre ordinateur à un serveur quelconque. Quand quelqu'un vous adressera un message, il sera reçu par le serveur en question qui le redirigera vers votre ordinateur ; à l'inverse, quand vous enverrez un message, il transitera par votre serveur qui le transmettra au serveur sur lequel est connecté votre correspondant[4]. Illustrons par un exemple notre propos.
Valentin et Tina sont connectés à deux serveurs différents : Valentin sur homard et Tina sur thon. Regardons ce qui se passe quand Valentin envoie un message à Tina :
- le message est transmis de l'ordinateur de Valentin à homard ;
- homard fait passer le message à cabillaud ;
- cabillaud fait passer le message à thon ;
- thon envoie le message à l'ordinateur de Tina.
À moins que vous ne parliez couramment le charmant langage de toutes ces sympathiques machines, il vous sera nécessaire de passer par un client afin de gérer les échanges. Il s'agit d'un logiciel installé sur votre ordinateur qui s'occupera de l'envoi et de la réception de messages, tout en fournissant un certain nombre de services (gestion de contacts, interface graphique, etc) que nous détailleront plus tard. Nous avons choisi d'utiliser Pidgin comme client dans le cadre de cet ouvrage, puisqu'il est gratuit, multiplate-forme, sobre et simple d'emploi. D'autres existent : nous ne détaillerons pas leur utilisation, cependant vous pourrez trouver, en annexe, une liste.
Installation de Pidgin
Mon système d'exploitation (OS) n'est pas présent dans cette liste | Rendez-vous sur http://www.pidgin.im/download/ pour plus d'informations. |
---|
- Installation pour Windows
- http://sourceforge.net/projects/pidgin/files/Pidgin/pidgin-2.6.6.exe
- Installation pour MaxOS X
- http://pdb.finkproject.org/pdb/package.php/pidgin
- Installation pour Ubuntu
- Pidgin est installé par défaut toutes les versions d'Ubuntu antérieures à 10.04 (Lucid Lynx), parue en avril 2010. S'il n'est pas installé, copiez-collez ceci dans un terminal :
sudo apt-get install pidgin
- Si cette commande de fonctionne pas, par exemple pour des versions anciennes d'Ubuntu, essayez :
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com \ 67265eb522bdd6b1c69e66ed7fb8bee0a1f196a8 echo deb http://ppa.launchpad.net/pidgin-developers/ppa/ubuntu \ `lsb_release --short --codename` main | \ sudo tee /etc/apt/sources.list.d/pidgin-ppa.list
- Vous pouvez également utiliser, pour les versions d'Ubuntu postérieures à la 10.04, la Logithèque (accessible par Applications puis Logithèque Ubuntu). Pidgin est rangé dans Internet >> Messagerie instantanée.
- Installation portable (logiciel exécutable depuis une clé sans droit administrateur)
- http://portableapps.com/apps/internet/pidgin_portable
- Après avoir téléchargé le fichier, exécutez l'assistant d'installation, puis laissez-vous guider.
Notes
- ↑ Salon de discussion : espace virtuel où plusieurs utilisateurs peuvent échanger entre eux.
- ↑ Serveur : ordinateur connecté en permanence à Internet.
- ↑ Notez que les noms choisis dans cet exemple sont absolument fantaisistes.
- ↑ Tout va bien ? Vous suivez ?
Créez votre compte
Lancez Pidgin. Une fenêtre s'ouvre, vous signalant qu'aucun compte n'est installé :
Cliquez sur + Ajouter. Une nouvelle fenêtre vous demande d'entrer les paramètres de votre nouveau compte. Dans « Protocole », utilisez la boite déroulante pour choisir « IRC ». Remplissez les champs « Utilisateur », « Serveur » et « Mot de passe », tel que présenté ici, en remplaçant « IRCWikibooksfr » par votre pseudonyme.
Nous avons choisi de nous connecter au réseau irc.freenode.com. Il est utilisé principalement par des développeurs de projets libres ou Open Source. Les informaticiens sont majoritaires, mais on retrouve aussi la communauté du libre en général, comme par exemple la communauté Wikipédia. Nous ferons nos essais sur le salon de Wikibooks en français. À noter que si vous changez de réseau, les salons ne sont plus les mêmes : ainsi, un utilisateur connecté au salon #homard de Freenode ne pourra pas discuter avec un utilisateur connecté au salon #homard du réseau EpiKnet.
Passez à l'onglet « Avancé ». Ne touchez pas aux réglages automatiques ; vous pouvez si vous le souhaitez indiquer votre nom réel.
Validez ensuite à l'aide de + Ajouter. Après quelques instants, la fenêtre de discussion va s'ouvrir.
Vous parlez avec NickServ, un robot informatique sur les serveurs chargé de la gestion des comptes. Il vous indique en Anglais « Pseudo is not a registered nickname », c'est-à-dire que vous n'êtes pas enregistré auprès du réseau. L'enregistrement n'est pas obligatoire mais est vivement conseillé pour des raisons de sécurité. Avant de poursuivre, vous pouvez fermer les autres onglets de discussion éventuels (ici « Frigg »). Entrez : « /msg NickServ REGISTER motdepasse email
» puis appuyez sur la touche Entrée de votre clavier pour envoyer le message (par la suite, l'appui sur Entrée sera implicite). Veillez à mettre le même mot de passe que celui choisi précédemment. Un email va vous être envoyé pour confirmation.
Félicitations, vous venez de créer votre compte : vous êtes maintenant prêt à utiliser IRC !
Parlez !
Maintenant que votre compte est prêt, nous pouvons commencer à l'utiliser. Voyons d'abord comment rejoindre un salon de discussion (aussi appelé canal, channel, chan...). Le nom de chaque canal est précédé par un ou plusieurs dièses (#). Nous allons essayer de rejoindre le canal de Wikibooks : il s'agit de #wikibooks-fr. Pour ceci, il faut utiliser la commande /join
de cette manière : /join #wikibooks-fr
.
Si le canal est protégé par un mot de passe — ce qui n'est pas le cas de #wikibooks-fr et de la plupart des canaux — entrez le mot de passe à la suite : /join #channel motdepasse
.
Vous remarquez que la fenêtre est composée de plusieurs parties : en bas, la zone d'entrée du message, au-dessus à gauche les messages récents et à droite la liste des personnes connectées. À côté d'elles, il peut y avoir différentes icônes, représentant un grade. L'étoile (ici présente à côté de ChanServ et de l'utilisateur « Savant-fou ») signifie que les utilisateurs sont opérateurs (ops) : ils peuvent tout faire, comme expulser quelqu'un, changer les grades, etc... Le symbole , présent à côté de l'utilisateur « Grondin », signifie que les utilisateurs sont voice (v) : ils ont des pouvoirs limités comparés aux opérateurs. De plus, si le mode correspondant a été activé, ils sont les seuls à pouvoir parler. Règle de courtoisie sur un channel : on salue à son arrivée ! Cela facilite les futurs échanges avec ses autochtones.
Quand un autre utilisateur inclut votre pseudo dans son message, vous êtes averti (highlighté, HL) par un bip. Les utilisateurs d'Ubuntu sont également prévenus par une petite bulle s'affichant en haut à droite de l'écran. Il est d'usage, quand vous souhaitez avertir un autre utilisateur, d'appeler !pseudo
ou de précéder votre message de Pseudo:
ou Pseudo,
. Pour ne pas à avoir à taper les pseudonymes, la touche ↹ (tabulation) active la complétion automatique. Entrez le début du pseudo puis appuyez sur cette touche pour compléter. Si plusieurs pseudonymes se ressemblent et que vous n'avez pas entré suffisamment, des suggestions s'affichent.
Vous souhaiteriez répondre à ce message que vous allez voir. La commande /me
(« moi ») est parfaitement adaptée : entrez /me va voir
.
Le topic (sujet) du channel s'affiche à votre arrivée et en haut de la fenêtre. Pour le modifier, double-cliquez dessus. Une notification est envoyée au channel.
Si pour une raison ou une autre, vous souhaitez effacer la conversation de votre écran, tapez /clear
ou faites Ctrl + L.
Il est possible d'archiver les discussions. Pour ceci, cliquez sur Options puis sur Activer l'archivage. Les archives sont consultables par Conversation puis Voir les archives. Pour rechercher dans les archives, entrez le texte à chercher dans l'invite de texte correspondante puis cliquez sur Rechercher.
Vous pouvez exporter la conversation au format HTML (utilisé pour générer les pages web). Pour ceci, cliquez sur Conversation puis sur Enregistrer sous. Dans la fenêtre qui s'affiche, choisissez un nom, un dossier de destination et cliquez sur Enregistrer.
Pour proposer à un utilisateur de rejoindre votre salon, faites Conversation puis Inviter.
Ceci aura pour effet l'ouverture d'une petite fenêtre. L'utilisateur peut refuser ou accepter.
Vous pouvez enfin ajouter le salon à vos contacts avec Conversation puis + Ajouter. Dans la fenêtre qui s'ouvre, entrez le mot de passe du salon (si il existe), l'alias (surnom) que vous souhaitez lui donner (ce surnom sera affiché dans votre liste de contacts) et le groupe auquel il appartient (pour vous y retrouver plus facilement, vous pouvez grouper vos contacts par appartenance : travail, amis, etc). Si vous cochez l'option Rejoindre automatiquement quand le compte est activé, vous serez immédiatement connecté au channel lors de l'ouverture d'IRC (pratique !).
Enfin, lors de votre départ, vous pouvez soit fermer IRC soit entrer /quit
suivi d'un message qui sera affiché à votre départ, par exemple : /quit Promis, je reviens vite !
.
Pour afficher des informations sur un utilisateur, entrez /whois pseudo
ou faites un clic droit sur l'utilisateur puis sélectionnez Infos. Si vous êtes dans votre liste de contacts, vous pouvez passer par Contacts puis Voir les informations ou Ctrl + I (dans ce cas vous devrez entrer le pseudonyme). Tous les chemins mènent à Rome et ces différentes voies donnent toutes la même chose :
Si vous souhaitez changer votre pseudonyme de façon temporaire, utilisez /nick
. Vous pouvez par exemple, quand vous vous absentez un moment, changer votre nom en pseudo_away pour signaler votre absence : /nick pseudo_away
.
Si votre connexion internet s'interrompt pendant un instant et que vous vous reconnectez, vous verrez que votre compte est toujours connecté, votre pseudo est Pseudo1. Vous allez donc devoir déconnecter votre compte avec /msg NickServ GHOST pseudo motdepasse
, puis changer votre pseudonyme à l'aide de /nick
.
Quand une connexion entre deux serveurs du réseau lâche, les utilisateurs qui y sont connectés ne sont plus reliés au reste du réseau : on appelle ceci un netsplit.
Nous avons présenté les opérations les plus basiques de la communication par IRC, qui devraient vous permettre de discuter tranquillement. Les prochains chapitres vous permettront d'aller plus loin !
Parler avec un utilisateur
Bien que l'objectif premier d'IRC soit de pouvoir parler dans des salons de discussion avec plusieurs autres utilisateurs, vous pouvez discuter avec une personne en particulier. Pour commencer une conversation, faites Conversation puis Envoyer un message... et enfin entrez le nom de l'utilisateur à contacter (Ctrl + M est le raccourci clavier). La deuxième solution, plus simple si vous êtes dans le même salon que l'utilisateur, est de double-cliquer sur son pseudonyme.
Si un utilisateur vous importune par messagerie privée, vous pouvez le bloquer (c'est-à-dire qu'il ne pourra plus vous parler). Pour ceci, faites Conversation puis Bloquer. Une fenêtre vous demande confirmation.
Si vous souhaitez débloquer un utilisateur, faites Conversation puis Débloquer. Une fenêtre vous demande confirmation.
Si vous souhaitez ignorer un utilisateur sur un salon de discussion, c'est-à-dire ne plus voir ses messages, faites un clic droit sur son pseudonyme puis cliquez sur Ignorer. Une icône s'affiche désormais à côté de lui.
Pour ne plus l'ignorer, faites un clic droit sur le pseudonyme de l'utilisateur puis cliquez sur Débloquer.
Personnalisez votre compte et Pidgin
La personnalisation de Pidgin vous permet d'utiliser IRC avec plus de confort. Pour commencer, nous allons voir comment changer l'image associée à votre compte. Il vous suffit de cliquer en bas à droite de la Liste de contacts pour afficher l'explorateur vous permettant de choisir l'image de votre choix (qui doit être enregistrée sur l'ordinateur). Cette image sera publique et visible par tous.
Si vous vous absentez, vous pouvez changer d'état. Utilisez la boite déroulante située en bas de la Liste de contact pour choisir un état (Disponible/Absent/Déconnecté). Vous pouvez créer de nouveaux états en cliquant sur Nouvel état.... Choisissez un nom pour l'état, une icône et un message. Enfin, vous pouvez soit enregistrer l'état, l'utiliser dès maintenant sans l'enregistrer, ou l'enregistrer et l'utiliser dès maintenant.
Les alertes vous préviennent dès qu'un évènement, paramétré à l'avance, survient. Pour créer une nouvelle alarme, allez dans la Liste de contacts et choisissez Outils puis Alertes.
Choisissez l'utilisateur à surveiller, choisissez l'évènement, puis ce qui doit se passer (jouer un son, envoyer un message, etc).
Vous pouvez installer un certain nombre de plugins (modules supplémentaires) variés, comme une messagerie musicale, une prédiction de disponibilité, etc... Depuis la Liste de contacts, rendez-vous dans Outils puis dans Plugins ou faites Ctrl + U.
Pour accéder aux préférences générales, rendez-vous dans Outils puis Préférences dans la Liste de contacts ou faites Ctrl + P.
Si vous souhaitez restreindre la possibilité de vous contacter, utilisez les filtres (Outils puis Filtres dans la Liste de contacts). Choisissez dans la boite déroulante si vous voulez que tous les utilisateurs puissent vous contacter, que seuls vos contacts puissent vous contacter, que certains utilisateurs ne puissent pas vous contacter, etc...
Pour ne pas que Pidgin fasse du bruit, vous pouvez le placer en mode silencieux (Outils puis Silencieux dans la Liste de contacts).
Vous pouvez avoir plusieurs comptes. Pour créer un nouveau compte, allez dans le gestionnaire de comptes (Comptes puis Gérer les comptes ou Ctrl + A dans la Liste de contacts) puis cliquez sur + Ajouter.
Opérateurs et voices
Vous êtes opérateur d'un salon de discussion. L'opérateur a accès à des fonctions avancées qui sont présentées ici.
Les grades
Un de vos membres est gênant : vous pouvez l'expulser du channel en le kickant, à l'aide de /kick pseudo raison
(il est facultatif de donner une raison).
Vous vous étiez malencontreusement trompé d'utilisateur, et vous vous apercevez qu'il est en fait quelqu'un de confiance. Afin de garantir la surveillance de votre channel, vous lui donnez le statut d'opérateur. Entrez /op pseudo
.
Le statut d'opérateur est important, vous préférez finalement gouverner seul. Pour enlever le statut d'opérateur à un utilisateur, utilisez /deop pseudo
.
Notre cobaye ne semble pas très heureux ! Consolons-le en lui donnant le statut de voice à l'aide de /voice pseudo
.
Tout compte fait, il est peut-être préférable de le laisser au rang d'utilisateur. Enlevez-lui son grade de voice à l'aide de /devoice pseudo
!
Les modes
Les modes sont activés en utilisant /msg chanserv SET #channel MLOCK +mode
. Ils sont retirés avec /msg chanserv SET #channel MLOCK -mode
.
Le mode i
empêche tout utilisateur qui n'est pas invité de rentrer dans votre salon.
Le mode R
empêche l'utilisation de pseudos non enregistrés auprès de NickServ.
Le mode t
empêche la modification du topic par des personnes qui ne sont pas opératrices.
Le mode s
rend le channel secret : il n'est plus affiché lors d'un /whois
.
Le mode p
efface le channel de la liste des canaux.
Le mode m
empêche toute personne qui n'est pas opératrice ou voice de parler.
Le mode k
protège le salon par un mot de passe qui doit être indiqué à la fin de la commande (par exemple /msg chanserv SET #wikibooks-fr mode +k motdepasse
).
Le fondateur
Le fondateur du channel a accès a des fonctionnalités avancées. Pour changer le fondateur du canal, celui-ci doit entrer /msg ChanServ SET #canal founder Toto
.
Le fondateur peut par exemple supprimer son salon avec /msg ChanServ DROP #canal
. Une confirmation est demandée par ChanServ.
La description du channel
Pour définir quelle URL est associée avec un channel, entrez /msg chanserv set #canal url http://toto.com
. Pour enlever l'URL, entrez /msg chanserv set #canal url
.
Pour modifier la description du salon, entrez /msg chanserv set #canal desc Description
.
Expulser définitivement quelqu'un du salon
Pour expulser quelqu'un définitivement, utilisez /mode #channel +b [adresse]
. Pour obtenir l'adresse IP, utilisez /whois Alfred
. Expulsez ensuite la personne avec /kick
.
Le transfert de fichiers
La fonction de transfert de fichier s'avère bien utile quand vous communiquez avec une personne et que vous souhaitez lui faire parvenir un fichier. Dans cet exemple, il s'agit du fichier Thomas_à_la_plage.png
. Dans la fenêtre de conversation, cliquez sur Conversation puis Envoyer un fichier. Pidgin vous demande alors de sélectionner le fichier à transmettre. Une fois choisi, cliquez sur Ouvrir. La fenêtre « Transfert de fichiers » s'ouvre alors.
Une fois que la personne à qui le fichier doit être transmis a accepté, le transfert commence. Une indication s'affiche.
Quand un autre utilisateur vous envoie un fichier, une fenêtre s'ouvre pour vous demander si vous acceptez ou refuser le transfert.
Si vous acceptez, Pidgin vous demande où souhaitez-vous enregistrer le fichier.
Une fois que vous avez fait votre choix, cliquez sur Enregistrer.
Créer un canal
Vous souhaitez créer votre propre salon de discussion ? C'est possible, mais auparavant, assurez-vous qu'il n'en existe pas de similaires. N'oubliez pas qu'un salon est fait pour rassembler des gens et qu'il est peu pratique d'être disséminé sur plusieurs canaux...
La première étape est de rejoindre ce salon avec la commande /join
. Vous allez maintenant enregistrer votre salon auprès du réseau avec /msg chanserv REGISTER #channel motdepasse description
. Puis, pour éviter que quelqu'un d'autre ne prenne le contrôle de votre salon, invitez ChanServ, qui est un robot informatique fourni par Freenode chargé de « garder » le canal pendant votre absence, à l'aide de /msg ChanServ SET #channel GUARD ON
.
ChanServ arrive, vous pouvez commencer à gérer une liste de personnes qui seront élevées opératrices ou voices automatiquement à leur arrivée à l'aide de /msg ChanServ ACCESS #channel ADD pseudo AOP
(pour opérateurs) ou /msg ChanServ ACCESS #channel ADD pseudo VOP
(pour voices). Enfin, pour que le topic reste en votre absence, il faut taper /msg ChanServ SET #channel KEEPTOPIC ON
.
Autres clients
Nous vous avons présenté IRC en utilisant Pidgin, cependant, d'autres clients existent. En voici une liste non-exhaustive.
Plates-formes : Linux, Mac OS, Unix, Windows | Licence : GNU GPL | ChatZilla |
ChatZilla a été conçu par SeaMonkey, anciennement Mozilla. Il est également disponible comme extension pour le navigateur web Firefox. |
Plates-formes : Mac OS X, iPod Touch, iPhone | Licence : GNU GPL | Colloquy |
Plates-formes : Donation ; Mac OS X | Licence : {{{licence}}} | Conversation |
Colloquy, apparut en janvier 2009, supporte les commandes brutes IRC, mais son grand atout est la présence d'une interface homme-machine très bien conçue et cohérente avec les autres applications Mac. |
Plates-formes : Windows | Licence : Shareware | dIRC |
Plates-formes : Linux, Mac OS, Unix, Windows | Licence : GNU GPL | ejabberd |
Plates-formes : Mac OS X | Licence : GNU GPL | Fire |
Plates-formes : Windows | Licence : | Klient |
Plates-formes : Linux, Unix | Licence : GNU GPL | Konversation |
Plates-formes : Linux, Unix, Mac OS X, Windows | Licence : GNU GPL | KVIrc |
Plates-formes : Linux | Licence : GNU GPL | LOStIRC |
Plates-formes : Windows | Licence : | mIRC |
Plates-formes : Windows | Licence : GNU GPL | NodeIRC |
Plates-formes : Toutes | Licence : | Opera |
Plates-formes : Linux, Windows | Licence : GNU GPL | OriXchat |
Plates-formes : Linux, Unix | Licence : GNU GPL | Rhapsody |
Plates-formes : Linux, Unix, Windows, Mac OS X | Licence : GNU GPL | SavIRC |
Plates-formes : Linux, Unix, FreeBSD, OpenBSD, NetBSD, Mac OS X, GNU/Hurd, Solaris, QNX | Licence : GNU GPL | WeeChat |
Plates-formes : Linux, Windows, Mac OS X, FreeBSD, OpenBSD | Licence : GNU GPL | XChat |
Autres clients/IRC « camping »
Vous pouvez continuer à utiliser IRC sur d'autres supports que votre ordinateur.
IRC sur iPod Touch/iPhone
Si vous possédez un iPod Touch ou un iPhone, vous pouvez installer un client IRC comme Colloquy (payant) ou LimeIRC (payant lui aussi).
IRC par navigateur web
Si vous êtes sur un ordinateur public ou que vous n'avez pas de client IRC sous la main, vous pouvez utiliser votre navigateur pour vous connecter sur différents réseaux :
- EpiKnet, à l'aide de Wircy ou autres clients web
- Freenode, à l'aide de Kiwi IRC
- [https:/webchat.oftc.net/ OFTC], à l'aide de qwebirc
IRC sur Android
Android est un système d'exploitation en partie Open Source pour smartphones, PDA et terminaux mobiles. Le client fIRC, conçu par Laurence Muller, peut être installé sur cet OS.
Pour aller plus loin
Liens internet
- « Guide d’utilisation de l’IRC », un livre de Wikibooks
- « Programmation mIRC », un livre de Wikibooks
- http://code.google.com/p/ircbot-collection/ : un regroupement de codes python pour robots IRC, publiés sous GNU General Public License
Créer un robot
Vous rencontrez sur les canaux de discussion plusieurs robots. Les plus connus sur le réseau Freenode sont ChanServ et NickServ. Une fois que vous serez un peu plus familiarisé avec l'environnement IRC, peut-être aurez-vous envie de vous lancer dans le développement d'un robot (bot) capable de gérer votre salon !
Cette partie demande quelques notions en programmation Python. Avant de commencer, téléchargez et installez Python ainsi que les modules de Joel Rosdahl irclib et ircbot à cette adresse : http://sourceforge.net/projects/python-irclib/files/. Décompressez le fichier et lancez setup.py
.
Le programme doit commencer par l'import des modules irclib et ircbot. La programmation sera événementielle, c'est-à-dire qu'elle repose sur des événements : quand il se passe une action, on fait cela (quand un message est posté, alors on répond bonjour, par exemple). Vous devrez donc définir une méthode qui sera appelée par le programme quand l'événement se produira. Faites commencer vos programmes par class LeRobot(ircbot.SingleServerIRCBot):
. Vous aurez donc un code de ce type :
import irclib
import ircbot
class LeRobot(ircbot.SingleServerIRCBot):
def on_pubmsg(self, serv, ev):
#action lors de la publication d'un message
def on_kick(self, serv, ev):
#action lors d'un kick
Attention, pour que l'import
fonctionne, veillez à enregistrer votre programme dans le même répertoire que irclib.py
et ircbot.py
Nom | Description |
---|---|
on_kick
|
Lors du kick d'un utilisateur |
on_nicknameinuse
|
|
on_welcome
|
Lors de la connexion à IRC |
on_privmsg
|
Lors de la réception d'un message privé |
on_dccmsg
|
|
on_join
|
Lors de l'arrivée sur un salon |
on_dccchat
|
|
on_action
|
Quand un utilisateur utilise /me
|
on_pubmsg
|
Lors de la réception d'un message sur le channel |
Quelques commandes
Lors de la définition d'une méthode, celle-ci peut prendre plusieurs paramètres, comme serv
ou ev
.
serv
serv
est une instance, elle permet au robot de dialoguer avec le serveur, à la façon d'un client IRC classique comme Pidgin.
- Méthodes utilisables avec
serv
join("#channel")
: le robot rejoint un salon de discussion. Si celui-ci est protégé par un mot de passe, mettez celui-ci à la suite (join("#channel motdepasse")
).
privmsg("destinataire", "message")
envoie un message sur un salon ou à une personne.
nick("pseudonyme")
permet de changer le pseudonyme du robot.
get_nickname()
renvoie le pseudonyme effectif du robot.
action("destinataire", "message")
envoie /me
. Attention, privmsg("#channel", "/me mange")
ne fonctionne pas avec tous les clients. Certains verront (13:30:03) ***BotIRC mange
, d'autres verront (13:30:03) BotIRC: /me mange
, c'est pourquoi l'utilisation de action
s'avère indispensable.
invite("invité", "#channel")
envoie un message d'invitation à l'utilisateur invité
.
part("#channel", "message")
quitte le canal spécifié avec un message.
die()
déconnecte le robot.
Si le robot est opérateur, il peut utiliser :
kick("#channel", "kické", "message")
expulse un utilisateur du salon.
mode("#channel", "mode")
change le mode du channel, par exemple mode("#wikibooks-fr", "+i")
. Le cumul des modes est autorisé : mode("#wikibooks-fr", "+i-m")
.
Exemples de code
Robot de bar
Ce très simple robot vous donne ce que vous lui demandez.
import irclib
import ircbot
class Bot(ircbot.SingleServerIRCBot):
def __init__(self):
ircbot.SingleServerIRCBot.__init__(self, [("irc.freenode.com", 6667)],
"BotIRC", "Je suis un bot de bar.")
def on_welcome(self, serv, ev):
serv.join("#test-irc")
def on_pubmsg(self, serv, ev):
message = ev.arguments()[0]
if "!botirc" in message or "!botIRC" in message:
serv.privmsg("#test-irc", "et "+message[8:100] + " !") #fonction répéteur
if __name__ == "__main__":
Bot().start()
- Utilisation
:(13:11:20) Savant-fou: !botIRC une bière pour Savant-fou<br> :(13:11:20) BotIRC: et une bière pour Savant-fou !
Robot videur
Ce robot, s'il est opérateur, expulse du salon l'utilisateur demandé.
#!/usr/bin/env python
# -*- coding: utf8 -*-
import irclib
import ircbot
class Bot(ircbot.SingleServerIRCBot):
def __init__(self):
ircbot.SingleServerIRCBot.__init__(self, [("irc.freenode.com", 6667)],
"BotIRC", "Je suis un bot videur.")
def on_welcome(self, serv, ev):
serv.join("#test-irc")
def on_pubmsg(self, serv, ev):
canal = ev.target()
message = ev.arguments()[0]
if message[8:12] == "kick":
if message[13:100] == "BotIRC":
serv.privmsg(canal, "Non mais ça va pas la tête ?!")
else:
serv.kick(canal, message[13:100], "Prends garde, BotIRC est là")
if __name__ == "__main__":
Bot().start()
- Exemple d'utilisation
:(13:49:14) Savant-fou: !BotIRC kick IRCWikibooksfr :(13:49:14) #test-irc: IRCWikibooksfr été expulsé par BotIRC (Prends garde, BotIRC est là)
Un robot inexpulsable
#!/usr/bin/env python
# -*- coding: utf8 -*-
import irclib
import ircbot
class Bot(ircbot.SingleServerIRCBot):
def __init__(self):
ircbot.SingleServerIRCBot.__init__(self, [("irc.freenode.com", 6667)],
"BotIRC", "Je suis un bot invincible.")
def on_welcome(self, serv, ev):
serv.join("#test-irc")
def on_kick(self, serv, ev):
serv.join("#test-irc")
Ce robot est inexpulsable. En effet, si il est kické, on_kick()
le ramène immédiatement.
- Utilisation
:(21:02:07) BotIRC a quitté le salon (Expulsé par Savant-fou (Je t'aurai sale bot !)) :(21:02:07) BotIRC a rejoint le salon
GFDL | Vous avez la permission de copier, distribuer et/ou modifier ce document selon les termes de la licence de documentation libre GNU, version 1.2 ou plus récente publiée par la Free Software Foundation ; sans sections inaltérables, sans texte de première page de couverture et sans texte de dernière page de couverture. |