Eggdrop

De bricosoft
Aller à la navigation Aller à la recherche
Fichier:EggheadsEdwardEDropLogo.png

Un eggdrop (ombre d'œuf) est un robot IRC populaire pour sa souplesse et la bibliothèque étoffée d'extensions et de scripts.

Installation recommandée pour Linux, FreeBSD, NetBSD, OpenBSD, etc

<google uid="C06" position="left"></google>
Erreur dans le widget Twitter Search: unable to write file /home/gbp4dt5/zones/bricosoft.com/www/extensions/Widgets/compiled_templates/wrt693df42cce0561_16685136

L'installation depuis la dernière archive originale de l'éditeur a l'avantage de pouvoir compiler le robot sur sa machine, de mieux comprendre le fonctionnement du bot et de paramétrer plus finement. Par contre cette installation est longue et nécessite des compétences d'administrateur système.

Préparation

Nous avons besoin de ces plusieurs archives :

  1. Le robot IRC
  2. Le module Gseen pour avoir une commande !seen améliorée + traduction des messages en français
  3. Le module MegaHAL pour un robot qui interagit avec les utilisateurs (attention aux petites configs le cpu est activement utilisé)

URLs :

Sur votre compte *utilisateur*, décompressez les sources (vous avez de grandes chances de les garder longtemps) :

greudin@castor:~$>tar -zxvf eggdrop1.6.18.tar.gz
greudin@castor:~$>cd eggdrop1.6.18
greudin@castor:~/eggdrop1.6.18$>ls
CONTENTS            NEWS                config.status       language
COPYING             README              configure           logs
ChangeLog           aclocal.m4          configure.ac        lush.h
FEATURES            config.cache        disabled_modules    misc
INSTALL             config.h            doc                 scripts
Makefile            config.h.in         eggdrop.conf        src
Makefile.in         config.log          help                text
greudin@castor:~/eggdrop1.6.18$>

La commande !seen par défaut n'est pas idéale, nous allons récupérer une version plus complète et rapide :

greudin@castor:~/eggdrop1.6.18$>cd src/mod
greudin@castor:~/eggdrop1.6.18/src/mod$>wget http://www.kreativrauschen.de/gseen.mod/gseen.mod.1.1.1.dev3.tar.gz
greudin@castor:~/eggdrop1.6.18/src/mod$>tar -zxvf gseen.mod.1.1.1.dev3.tar.gz

MegaHAL est logiciel en intelligence artificielle simulant des conversations. On s'adresse au robot qui réponds suivant ce qui a été dit sur le chan.

greudin@castor:~/eggdrop1.6.18/src/mod$>wget http://bin.barkerjr.net/pub/irc/eggdrop/modules/megahal/megahal.mod.2.7.tar.bz2
greudin@castor:~/eggdrop1.6.18/src/mod$>tar -jxvf megahal.mod.2.7.tar.bz2
greudin@castor:~/eggdrop1.6.18/src/mod$>cd ../..

Compilation

Les sources de ce module sont maintenant installées, nous continuons par le processus compilation (les documents en anglais pour la compilation sont INSTALL et doc/COMPILE-GUIDE).

Commencez par la vérification de la présence des outils de compilation :

greudin@castor:~/eggdrop1.6.18$>./configure

En cas d'erreur installez les paquetages demandés (apt-get install, pkg_add -r, etc).
S'il n'y a aucune erreur, nous compilons le bot et ses modules :

greudin@castor:~/eggdrop1.6.18$>make config
greudin@castor:~/eggdrop1.6.18$>make

Le robot est compilé, il ne reste plus qu'à l'installer :

greudin@castor:~/eggdrop1.6.18$>make install && make clean

Ceci installera le bot dans :

/home/user/eggdrop

Copiez le robot compilé dans le dossier définitif.

Configuration simple

<google uid="C08" position="left"></google>

Modifiez le fichier de configuration :

greudin@castor:~$>cd bots/monrobot/
greudin@castor:~/bots/monrobot$>cp eggdrop.conf monrobot.conf
greudin@castor:~/bots/monrobot$>vim monrobot.conf

Le fichier conf contient de nombreuse section, pour lancer rapidement le robot nous allons d'abord modifier le strict minimum.

Changez la première ligne vers chemin vers votre script exécutable (shebang) :

#! /path/to/executable/eggdrop

en :

#!/home/greudin/bots/monrobot.conf


Ensuite, effacez les lignes commençant par :

die "..."

Changez les premiers paramètres :

set username "monrobot"
addlang "french"

Indiquez le nom du canal à surveiller et le fichier où seront enregistrés les logs

logfile jpk #canal1 "logs/canal1.log"

Puis : set nick "monrobot" set altnick "monrobot_" set realname "monrobot est un robot."

Important ! Choisissez au moins 3 serveurs proche géographiquement de votre shell :

set servers {
irc.lame.net
irc.fr.lame.net
irc.de.lame.net
}  

Décommentez la section concernant les canaux où se trouvera le bot :

channel add #canal1 {
...
}

Décommentez la ligne du moteur de chiffrage :

loadmodule blowfish

Tout en bas du fichier conf, rajoutez :

  • La configuration du module gseen
source gseen.conf
  • Le chargement du module d'intelligence artificielle et les paramètres pour le canal souhaité
loadmodule megahal
channel set #canal1 +megahal +learnall
set mega_wpm 0

Le robot a maintenant son fichier de configuration de base, vous allez surement y revenir pour ajuster des choses comme le flood, des nouveaux scripts, etc.

Premier démarrage

<google uid="C08" position="left"></google>

Le premier démarrage se fait rarement avec succès, notez la toute première erreur affiché pour ensuite corriger votre oubli dans le fichier .conf.

greudin@castor:~/bots/monrobot$>./eggdrop -m monrobot.conf

S'il n'y a aucune erreur le bot sera lancé en tâche de fond (background pid), allez vite sur IRC et vérifiez sa présence en ligne et sur le bon canal :

/whois monrobot

Présentez-vous au robot comme le propriétaire :

/msg monrobot HELLO

Enregistrez un mot de passe :

/msg monrobot PASS un_mdp

Voilà votre robot est configuré et prêt à être relancé. Terminez le processus ou arretez-le avec la commande DIE :

/msg monrobot DIE un_mdp

Production

Lancez votre bot depuis son dossier :

greudin@castor:~/bots/monrobot$>./monrobot.conf

Il est possible que le bot plante, il vous faut rajouter un cronjob surveillant le processus régulièrement pour le relancer.

greudin@castor:~/bots/monrobot$>cd scripts/
greudin@castor:~/bots/monrobot/scripts$>./autobotchk monrobot.conf -15 -noemail

Le bot sera surveillé toutes les 15 minutes et relancé silencieusement (aucun email). Voici à quoi la crontab ressemblera :

greudin@castor:~/bots/monrobot/scripts$>crontab -l
0,15,30,45 * * * * /home/greudin/bots/monrobot/Lamestbot.botchk >/dev/null 2>&1

Utilisation

La party line

La party line est l'interface de contrôle du robot, directement en telnet ou en chat DCC.

.chanset #chan chanmode +nti-k

Ajouts

Statistiques web avec Pisg

Pisg est un script Perl qui génère une jolie page web à partir des données brutes du fichier .log.

Liens