Description
nabot est un embryon de bot IRC que je suis actuellement
en train de développer en Python. Il n'a pas encore de
véritable utilité et j'avoue que je ne lui en n'ai même pas encore
cherché une. C'est plus une envie de programmer spontanée qu'autre
chose. ;^)
Statut
La chose est pour l'instant capable de se placer sur un channel
et de dire ``Hello, world!''. Sans blagues:
Noyau
Le noyau (IrcRobotCore) est d'ores et déjà fonctionnel:
- Gère la réception et le décodage (en gros) des messages
provenant d'un serveur IRC, ainsi que la gestion transparente
des PING/PONG des serveurs.
- Les messages reçus peuvent être dispatchés vers
des fonctions spécialisées, en fonction de leur type, et
éventuellement en tentant de correspondre à une regular
expression (regex). La "table des callbacks" est
dynamiquement modifiable en cours d'exécution.
- Gestion des utilisateurs (reconnaissance par leur mask
et gestion des privilèges [stockés dans un fichier de
configuration].
- Multi-channel (encore quelques bugs mais à déjà à peu près
utilisable)
Plugins
Quelques plugins "de base" sont fournis avec la distribution...
- admin_commands: joindre et quitter un channel,
"mourir".
- be_polite: dit bonjour en arrivant, remercie et
fait de remarques quand le robot est voiced ou oped,
et auto-op les utilisateurs autorisés.
- handle_debug_msgs: consultation des caches
internes à distance (utilisateurs, channels, events).
- irc_log: enregistrement de l'activité.
- seen_user: "quand quelqu'un est-il passé pour la
dernière fois?" [encore quelques bugs].
Vous pouvez télécharger la version actuelle:
nabot-0.1.9.tar.gz
Complément
Le protocole IRC (Internet Relay Chat) est décrit dans la
RFC 1459
[texte],
que je vous recommande vivement de lire pour pouvoir tirer
profit du peu de code actuellement implanté.
|