Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
fr:limnoria [2015/12/16 16:01] – zatalyz | fr:limnoria [2017/01/08 22:00] – [S'identifier et faire des bêtises] zatalyz | ||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
Limnoria est un logiciel de bot IRC, comme [[fr: | Limnoria est un logiciel de bot IRC, comme [[fr: | ||
+ | On peut utiliser des " | ||
+ | |||
+ | Cet article détaille comment gérer un bot avec Limnoria. Il vaut mieux installer Limnoria sur un serveur afin que le bot soit toujours présent ensuite. | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | Ne mettez pas un bot sur un canal IRC sans l' | ||
+ | </ | ||
===== Installation ===== | ===== Installation ===== | ||
Installer les paquets python nécessaires : | Installer les paquets python nécessaires : | ||
- | apt-get install | + | apt-get install |
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
- | Il faut la version supérieure à 17.0 pour python-setuptools, | + | * Il faut la version supérieure à 17.0 pour python-setuptools, |
+ | * Sans python3, certains flux rss ne sont pas récupérés. | ||
+ | |||
+ | Pour que python3 soit utilisé par défaut, en root : | ||
+ | |||
+ | rm / | ||
+ | ln -s / | ||
</ | </ | ||
Ligne 20: | Ligne 33: | ||
| | ||
Installer sans être root. | Installer sans être root. | ||
- | | + | |
python setup.py install --user | python setup.py install --user | ||
Ligne 28: | Ligne 41: | ||
source ~/.$(echo $SHELL|cut -d/ -f3)rc | source ~/.$(echo $SHELL|cut -d/ -f3)rc | ||
- | Et c'est parti pour installer le premier bot. | ||
- | Créez le dossier où sera stocké la configuration | + | Créez le dossier où sera stocké la configuration |
+ | cd ../ | ||
mkdir config | mkdir config | ||
cd config | cd config | ||
Ligne 43: | Ligne 56: | ||
En daemon : | En daemon : | ||
supybot --daemon bot.conf | supybot --daemon bot.conf | ||
- | | + | |
+ | ==== Lancer automatiquement les bots via cron ==== | ||
+ | Créer un fichier pid du nom du bot dans le dossier '' | ||
+ | touch bot.pid | ||
+ | |||
+ | Ajouter une ligne de ce genre dans cron (via '' | ||
+ | < | ||
+ | |||
+ | '' | ||
===== Liens et ressources ===== | ===== Liens et ressources ===== | ||
* Doc en anglais, de limnoria : http:// | * Doc en anglais, de limnoria : http:// | ||
* Doc en français, peut-être moins à jour : https:// | * Doc en français, peut-être moins à jour : https:// | ||
* Channel irc en français, sur freenode : #supybot-fr | * Channel irc en français, sur freenode : #supybot-fr | ||
+ | |||
+ | La doc est assez complète sur ces différentes ressources, ainsi que les tutos pour la prise en main basique du bot. | ||
+ | |||
+ | ===== Pense-bête ===== | ||
+ | Ce qui suit est un résumé des principales commandes et actions ; mieux vaut lire la doc officielle auparavant. | ||
+ | |||
+ | |||
+ | Pour lister les commandes des plugins : | ||
+ | |||
+ | config list supybot.plugins.NomDuPlugin | ||
+ | config list supybot.plugins.NomDuPlugin.Dossier1 | ||
+ | |||
+ | Pour avoir des informations sur les options des plugins : | ||
+ | config help supybot.plugins.NomDuPlugin.Dossier1.option1 | ||
+ | |||
+ | S'il y a un arobase (@) devant ce qui est listé par la première commande, il faut répéter '' | ||
+ | |||
+ | < | ||
+ | -pendorid- #announce, # | ||
+ | < | ||
+ | -pendorid- @blog, @forum, @mediateki, @taf, @um1, and @wikhan | ||
+ | < | ||
+ | -pendorid- Determines which RSS feeds should be announced in the channel; valid input is a list of strings (either registered RSS feeds or RSS feed URLs) separated by spaces. | ||
+ | </ | ||
+ | ==== Plugin en anglais ==== | ||
+ | Il se peut que le bot parle en anglais, alors qu'on avait bien configuré le français en langue principale. Dans ce cas, s' | ||
+ | config language fr | ||
+ | unload Games | ||
+ | load Games | ||
+ | |||
+ | ==== Alias ==== | ||
+ | La commande [[https:// | ||
+ | |||
+ | Bien que les développeurs conseillent à présent d' | ||
+ | |||
+ | Alias utiles : | ||
+ | ^ Commande ^ Résultat ^ | ||
+ | | alias add !me do #canal $1 | Lorsqu' | ||
+ | |||
+ | ==== RSS ==== | ||
+ | |||
+ | Ajouter les divers flux propres à Khaganat : | ||
+ | < | ||
+ | rss add mediateki https:// | ||
+ | rss add taf https:// | ||
+ | rss add wikhan https:// | ||
+ | rss add um1 https:// | ||
+ | rss add blog https:// | ||
+ | rss add GitKhaganat https:// | ||
+ | </ | ||
+ | |||
+ | |||
+ | Enlever les divers flux | ||
+ | < | ||
+ | rss remove mediateki | ||
+ | rss remove taf | ||
+ | rss remove wikhan | ||
+ | rss remove um1 | ||
+ | rss remove blog | ||
+ | rss remove GitKhaganat | ||
+ | </ | ||
+ | |||
+ | Modifier le nombre de lignes à afficher lors des mises à jour des flux : | ||
+ | config supybot.plugins.rss.initialAnnounceHeadlines 1 | ||
+ | |||
+ | Ajouter les annonces sur le canal lorsqu' | ||
+ | rss announce add #khanat forum blog um1 taf mediateki wikhan | ||
+ | rss announce add #krypte GitKhaganat | ||
+ | |||
+ | Lister les flux sur un canal : | ||
+ | rss announce list #khanat | ||
+ | |||
+ | |||
+ | ==== S' | ||
+ | |||
+ | ^ Effet ^ Commande ^ Exemple de commande ^ | ||
+ | | S' | ||
+ | | Changer le mot de passe | user set password < | ||
+ | | S' | ||
+ | |Savoir si on est enregistré et qui on est | whoami | whoami | | ||
+ | |||
+ | Renommer le bot en direct (une fois identifié) : | ||
+ | admin nick < | ||
+ | |||
+ | ===== Scripts utiles ===== | ||
+ | ==== Ranger les logs ==== | ||
+ | Limnoria trie les logs par canal, mais au bout de quelque mois, c'est assez plein. Voici un script qui va ranger ces logs dans des dossiers suivant le canal, l' | ||
+ | |||
+ | <file bash archiverlog.sh># | ||
+ | |||
+ | # Variable pour l' | ||
+ | dirlog=/ | ||
+ | dirarch=/ | ||
+ | |||
+ | # On liste les divers canaux logués | ||
+ | liste=" | ||
+ | for chan in $liste; do | ||
+ | # On vérifie que ça existe | ||
+ | if [ -d $dirlog/ | ||
+ | # | ||
+ | cd $dirlog/ | ||
+ | # puis on récupère le nom des logs en variable | ||
+ | # On récupère la date, en formattant comme pour les logs | ||
+ | for f in *.log | ||
+ | do | ||
+ | year=${f: -14:4} | ||
+ | month=${f: -9:2} | ||
+ | day=${f: -6:2} | ||
+ | # On se fait une jolie variable qui imite la partie datée du nom des fichiers de log | ||
+ | log=$year-$month-$day | ||
+ | |||
+ | |||
+ | # On vérifie que les fichiers de log existent ( -e pour existe) | ||
+ | if [ -e $dirlog/# | ||
+ | |||
+ | # on créé le dossier de chaque mois dans les archives s'il n' | ||
+ | mkdir -p " | ||
+ | # on déplace ces logs dans leur archive, à condition qu'ils soit plus âgés que 7 jours. | ||
+ | find $dirlog/# | ||
+ | |||
+ | fi | ||
+ | done | ||
+ | fi | ||
+ | done | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | ==== Voir le log du jour en direct ==== | ||
+ | <WRAP center round todo 60%> | ||
+ | À venir, grâce au script de Nuts. | ||
+ | </ | ||
+ | |||
+ | ==== Laisser quelques archives accessibles ==== | ||
+ | Comme on peut le voir sur la page [[kh> | ||
+ | |||
+ | <WRAP center round todo 60%> | ||
+ | Doc en cours, vu que je remanie la façon de faire. | ||
+ | </ | ||
+ | |||
{{tag> | {{tag> |