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édenteDernière révisionLes deux révisions suivantes | ||
fr:limnoria [2015/12/18 16:38] – zatalyz | fr:limnoria [2017/09/30 21:42] – [S'identifier et faire des bêtises] Ajout de deux commandes à la noix 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 : | ||
Ligne 49: | 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:// | ||
Ligne 60: | Ligne 75: | ||
Ce qui suit est un résumé des principales commandes et actions ; mieux vaut lire la doc officielle auparavant. | 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 ==== | ==== 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' | 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' | ||
Ligne 67: | Ligne 100: | ||
==== Alias ==== | ==== Alias ==== | ||
- | La commande [[https:// | + | La commande [[https:// |
+ | |||
+ | Bien que les développeurs conseillent à présent d' | ||
Alias utiles : | Alias utiles : | ||
^ Commande ^ Résultat ^ | ^ Commande ^ Résultat ^ | ||
- | | alias add !me do $1 | Lorsqu' | + | | alias add !me do # |
==== RSS ==== | ==== RSS ==== | ||
Ligne 81: | Ligne 116: | ||
rss add wikhan https:// | rss add wikhan https:// | ||
rss add um1 https:// | rss add um1 https:// | ||
- | rss add blog https:// | + | rss add blog https:// |
+ | rss add GitKhaganat https:// | ||
+ | </ | ||
Enlever les divers flux | Enlever les divers flux | ||
Ligne 89: | Ligne 127: | ||
rss remove wikhan | rss remove wikhan | ||
rss remove um1 | rss remove um1 | ||
- | rss remove blog</ | + | 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' | Ajouter les annonces sur le canal lorsqu' | ||
rss announce add #khanat forum blog um1 taf mediateki wikhan | rss announce add #khanat forum blog um1 taf mediateki wikhan | ||
+ | rss announce add #krypte GitKhaganat | ||
+ | |||
Lister les flux sur un canal : | Lister les flux sur un canal : | ||
rss announce list #khanat | 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 < | ||
+ | |||
+ | Le bot prend aussi des commandes classiques d'irc, comme '' | ||
+ | ^ Effet ^ Commande ^ Exemple de commande ^ | ||
+ | | Rejoindre un canal | join <nom du canal> | join #khanat | | ||
+ | | Quitter un canal | part <nom du canal> | part #khanat | | ||
+ | |||
+ | Pour en savoir plus sur une commande, demandez '' | ||
+ | ==== Réinitialiser son mot de passe admin ==== | ||
+ | Si vous êtes owner et que vous avez changé votre mot de passe puis oublié ce dernier, ça va être un peu compliqué de reprendre les droits sur votre bot. | ||
+ | |||
+ | Première chose : regardez dans vos logs IRC en local si vous retrouvez la discussion avec le bot où vous avez changé de mot de passe, parce que ce sera écrit en clair dans vos propres logs. Si vous utilisez plusieurs appareils pour vous connecter à IRC, regardez les logs sur chacun de ces appareils. | ||
+ | |||
+ | Si cela ne suffit pas : | ||
+ | * Éteignez le bot. Si vous avez paramétré un cron pour le relancer, désactivez-le, | ||
+ | * Virez le dossier '' | ||
+ | * En ligne de commande, lancez '' | ||
+ | * Cet utilisateur va être dans un fichier du type '' | ||
+ | * Rallumez le bot et remettez le cron en place si nécessaire. | ||
+ | * Connectez-vous. | ||
+ | |||
+ | Le point délicat est que le bot garde des choses en cache (probablement dans '' | ||
+ | |||
+ | ===== 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> |