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()