Outils pour utilisateurs

Outils du site


dev:python:ircbot
Cette page est en cours de rédaction. Les informations présentes peuvent êtres manquantes et/ou incomplètes.

IRCBot

IRCBot est un 'bot' IRC, un programme initialement et principalement destiné à automatiser certaines tâches administratives du canal de discussion et de rassemblement de BronyCUB ainsi que de participer à son animation.

Il est écrit en Python 3 et anime les canaux #bronycub, #bronycub-g33k et #bronycub-void sur Freenode.

Visiter le canal IRC

Vous pouvez tout d'abord venir nous rendre visite sur le salon de discussion, si vous souhaitez plus d'informations du développeur principal ou tout simplement nous faire coucou, nous ne mordons pas encore ! ;-)

Pour ce faire, il vous faudra un programme qui vous servira de client pour vous connecter. Vous pouvez, au choix :

  • Utiliser un client web, un site qui vous permet d'accéder au salon depuis une page web dans votre navigateur sans rien installer sur votre ordinateur ;
  • Installer un client IRC 'en dur', c'est-à-dire un vrai programme qui tournera dans un coin et vous permettra de discuter en ouvrant sa fenêtre principale.1)

Néanmoins, pour vous faciliter un premier contact, sachez que vous pouvez vous rendre sur notre site et cliquer sur le bouton 'Tchat' en haut à droite pour ouvrir un onglet sur https://kiwiirc.com qui est, si vous avez bien suivi, un client IRC web.

Pour les détails du serveur de discussion et des canaux, nous verrons cela dans quelques paragraphes.

Installer et lancer le bot

Prérequis

Tout d'abord, si vous souhaitez participer au développement du bot, à moins de vous limiter à la soumission d'idées (cf. plus bas) il vous faudra au moins des bases en algorithmie de manière générale et en Python (3.x de préférence) en particulier.

Vous pouvez aller visiter le tutoriel si vous désirez vous faire la main sur ce magnifique langage :-)

Si vous voulez faire tourner votre propre instance du bot, il vous faudra également des notions d'administration de canal (vous pouvez trouver aisément des documents sur le web, notamment ceux de Freenode), et quelques rudiments en shell Linux pour pouvoir lancer votre bot et le mettre à jour sur un serveur à distance (la méthode préférable de très loin).

Dépendances

Il vous faudra une version récente de l'interpréteur Python, en version 3 (développé à l'origine avec python 3.4.0). Vous n'aurez normalement besoin que des modules python fournis en standard.

Vous aurez également besoin d'une machine, soit tournant sous linux, soit disposant d'un shell linux (style cygwin etc), étant donné que les chemins d'accès de fichiers (entre autres) sont en interne des chemins UNIX et ne fonctionneront par conséquent pas sous MS Windows (et très certainement d'autres éléments bloquants cette famille d'OS)

Il vous faudra de préférence une machine capable de tourner en permanence, et ce pour plusieurs raisons :

  • Si le bot doit administrer le canal, il lui faudra être tout le temps présent, car si un canal IRC se retrouve sans administrateur (chez Freenode pour le moins), le bot interne ChanServ vient et rétablit certains paramètres par défauts (et vous n'aurez évidemment plus accès aux fonctionnalités d'IRCBot) ;
  • Lorsque vous relancerez la machine, si elle était en veille, le bot aura perdu la connexion et devra être ré-exécuté, et vous devrez attendre qu'il se soit connecté à votre(vos) canal(canaux) IRC pour pouvoir vous en servir à nouveau.

Vous pouvez pour cela utiliser un Raspberry Pi, avec une distribution linux installée sur la carte SD style Raspbian ou autres, avec l'interpréteur Python, cela devrait être largement suffisant. Sinon si vous avez un serveur dédié ou privé déjà disponible, vous pouvez simplement créer un utilisateur pour le bot et le lancer en fond.

Vous aurez également besoin d'un outil style GNU Screen ou Tmux pour pouvoir détacher / rattacher la console d'administration du bot, qui reste attachée à sa session shell linux, sans quoi vous perdriez l'accès à celle-ci en fermant votre session terminal (et c'est un accès primordial aux commandes du bot, si vous avez par exemple rendu le canal inaccessible autrement par erreur, ou tout simplement pour pouvoir arrêter / relancer le bot facilement).

Il vous faudra enfin l'outil git pour pouvoir récupérer les sources (non obligatoire, Github permettant de récupérer directement une archive, cependant utiliser git est plus simple pour pouvoir récupérer les versions suivantes lorsqu'elles sont disponibles) et pour potentiellement pouvoir y contribuer (indispensable dans ce cas-ci).

Installation

Configuration et lancement

Configuration : le dossier cfg/

cfg.json

Premier lancement

Fonctionnement

1) Ce point ne sera pas étendu ici, car ce n'est pas l'objet de l'article et il existe des documentations extensives facilement trouvables en allant taquiner un petit peu notre cher ami Google.
dev/python/ircbot.txt · Dernière modification: 2017-03-05 11:32 par electron