Guide d'utilisation de l'IRC/Fabriquer un bot IRC
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 éviter les insultes ou affichage d'un message de bienvenue aux 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 programmés dans un grand nombre de langage puisque IRC est basé sur un protocole. Il est toujours possible de construire et d'envoyer des sockets manuellement, opération que presque tous les langages peuvent effectuer. Cependant, certains 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.
Requêtes basiques avec IRC
modifierListe 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 taper les commandes suivantes dans une console supportant Telnet (remplacer irc_server par le nom ou l'adresse 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 connexion NICK <votre_surnom> USER <nom_utilisateur> <nom_serveur> <nom_serveur> <vrai_nom> --> Affichage d'information sur le serveur et ses règles JOIN #<canal>
Vous êtes maintenant connecté sur le serveur et avez rejoint un canal
Pour de l'aide, taper HelpServ suivit du nom de la commande
Programmation d'un bot avec Python grâce à la bibliothèque IRClib
modifierimport irclib
#Informations de connexion
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()