Sextium

De Site à Mans
Aller à la navigation Aller à la recherche

Bot IRC écrit en Perl

Projet créé pour se divertir sur le chans IRC.

Ce bot est le successeur d'une version écrit en C moins modulable que cette version en Perl.

Il est conçu pour se divertir lors des échanges sur IRC. Il permet d'afficher des macros sur un channel IRC.

Ces macros sont enregistrées par les utilisateurs sous forme d'actions, de messages ou commandes IRC. Il est possible de créer une macro avec plusieurs macros à la suite. Il garde aussi un historie de celles effacées.

Fonctionnalités

Il peut aussi effectuer d'autres petites tâches :

  • Statistique de l'activité des chans avec Pisg
  • Statistique des mots employés, nombre de fois...
  • Anagramme en utilisation du Dictionnaire de René Cougnenc
    • Dico encore présent dans les distribution à base de Debian
  • Gestion des droits à l'activer, des utilisateurs
    • Autorisation d'interagir
    • Blocage d'un utilisateur
  • Protection des utilisateurs définis contre les Kick, MODE -o, ban...

Manuel

Un fichier d'aide avait était écrit en XML/XSL mais celui a été perdu. Une lecture du code source Mybot.pm devrait permette de comprendre comment fonctionnent les macros assez rapidement...

Conception

Le Bot est conçu en deux parties.

  1. Celle gérant la connexion au serveur IRC
    • Sextium.pm
      • conçu pour être lisible et donc modifiable rapidement
      • chaque fonction IRC est définie "sub on_irc_IRC_Valide", rendant plus simple l'analyse et l'ajout de fonction. Il ne référence pas tous les code IRC, ex : 331 du Topic envoyé par le serveur, les nouveaux codes : 396, ...
  2. L'autre les commandes de base séparées en 4 parties:
    • Mybot.pm
      • Contient &on_cmd qui gère les messages et notifications (PRIVMSG et NOTICE) provenant du serveur.
    • Channel.pm
    • Macro.pm
    • Dico.pm

Il évite de flooder le serveur avec sa gestion d'évènement (fonction &send_sleep2)

Paramétrable

Un fichier "bot.cfg" permet de régler bot à souhait. Il est géré partiellement avec Config::General et une de mes adaptations.

  • Serveurs à utiliser
  • Nick name du bot
  • Channel où se connecter
    • condition pour joindre un canal, nombre de fois, temps d'attente entre chaque connexion...
  • Log de fonctionne et mode débugge
  • Noms des fichiers : utilisateur, macro, niveaux choisis, stats...

Téléchargement

Version 0.5.10 de 2008 https://mans.gyptis.org/ce_que_je_fais/logiciels_softs/Sextium-0.5.10.tar.bz2

Si votre navigateur refuse de télécharger le paquet, veuillez utiliser un autre ou copié/collé lien dans une nouvelle page