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

modifier

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

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

Programmation d'un bot avec perl

modifier

Voir aussi

modifier