Guide d’utilisation de l’IRC/Fabriquer un bot IRC

Un livre de Wikibooks.

On nomme Bot IRC un programme destiné à interagir avec les autres utilisateurs présents sur un canal IRC, et cela de façon automatique. Il est vu par les autres utilisateurs comme un utilisateur normal.

Les tâches pouvant être accomplies automatiquement sont multiples : filtrage de certains mots pour eviter les insultes ou affichage d'un message de bienvenue au utilisateurs venant de se connecter. Le bot étant programmable, les possibilités sont multiples et ne dépendent que des intentions du créateur.

Les bots IRC peuvent être programmmés dans un grand nombre de langage puisqu'IRC est basé sur un protocol. Il est toujours possible de construire et d'envoyer des sockets manuellements, opération que quasiement tout les langages peuvent effectuer. Cependant, certains langages sont mieux adaptés et présentent des librairies spécifiques permettant de faciliter grandement la conception. De plus, certains logiciels IRC comme Xchat, permettent la programmation très simple de bots grâce à l'installation de plug-ins.



[modifier] Requêtes basiques avec IRC

Liste de toutes les commandes, voir la RFC : http://abcdrfc.free.fr/rfc-vf/rfc1459.html (en français)

Exemple d'utilisation basique avec Telnet : Vous pouvez tapper les commandes suivantes dans une console supportant Telnet. (remplacer irc_server par le nom ou l'addresse du serveur sur lequel vous souhaitez vous connecter par exemple 195.50.191.14)

telnet <irc_serveur> <port (6664 a 6667 généralement)>

--> Affichage d'informations de connection

NICK <votre_surnom>

USER <nom_utilisateur> <nom_serveur> <nom_serveur> <vrai_nom>

--> Affichage d'information sur le serveur et ses règles

JOIN #<cannal>

Vous êtes maintenant connecté sur le serveur et avez rejoint un cannal

Pour de l'aide, tapper HelpServ suivit du nom de la commande

[modifier] Programmation d'un bot avec Python grâce à la librairie IRClib

import irclib
 
#Informations de connection
 
network = 'irc.freenode.net'
 
port = 6667
 
channel = '#irclib'
 
nick = 'PyTest'
 
name = 'Python Test'
 
#Creer un Objet IRC
 
irc = irclib.IRC()
 
#Créer un objet serveur, puis se connecter et rejoindre le canal
 
server = irc.server()
 
server.connect (network, port, nick, ircname = name)
 
server.join (channel)
 
#Sauter à une boucle infinie
 
irc.process_forever()

[modifier] Programmation d'un bot avec perl