Logo Khaganat
Traductions de cette page?:

Ceci est une ancienne révision du document !


Botlogmauve

Linkmauve nous avait créé de quoi loguer les canaux, et devant nos soucis avec errbot, il a ajouté la fonction pour ramener les flux RSS. Grâce à cela, Pendorid est présente sur XMPP.

Téléchargez le bot sur notre dépôt.

Créer un dossier et un user pour le bot:

sudo useradd -m -d /var/www/pendorid -s /bin/bash -p pendorid pendorid

Il faut installer les modules slixmpp, aiohttp, feedparser. On en profite aussi pour faire un dossier où seront les logs et le fichier du bot :

sudo -u pendorid pip3 install pipenv
sudo -u pendorid mkdir xmpplog
cd xmpplog
sudo -u pendorid python3 -m pipenv install slixmpp aiohttp feedparser
sudo -u pendorid git clone https://git.khaganat.net/khaganat/BotLogMauve.git
cd BotLogMauve

Les dossiers de log se créeront automatiquement ici par la suite (à prendre en compte si vous mettez à jour via git).

Copiez bot.cfg.example en bot.cfg et modifiez pour mettre les infos de votre bot.

Lancez le script avec pipenv et vérifier que tout va bien :

sudo -u pendorid python3 -m pipenv run python ./log.py -d

Les options :
-d pour les logs de debug
-q pour les logs de error

Si ça marche, on créé un service systemd dans /etc/systemd/system/pendorid.service. Adaptez l'utilisateur, le groupe et les chemins.

[Unit]
Description=Chat bot XMPP log
After=network.target network-online.target
 
[Service]
Type=simple
User=pendorid
Group=pendorid
WorkingDirectory=/var/www/pendorid/xmpplog/BotLogMauve
ExecStart=/usr/bin/python3 -m pipenv run python ./log.py
Restart=always
RuntimeMaxSec=1d
KillSignal=SIGINT
 
[Install]
WantedBy=multi-user.target

Pour activer le service :

sudo systemctl enable pendorid.service
sudo service pendorid start

Potentielles résolutions de problème

Le paquet python-is-python3 a besoin d'être installé (sur bookworm).

La mise à jour se fait (peut-être, ou pas) avec la commande suivante, dans le dossier du bot (soit ici par défaut : /var/www/pendorid/xmpplog/BotLogMauve) :

sudo -u pendorid python3 -m pipenv update

Si rien ne va, détruire le virtualenv (où le trouver ? je ne suis pas sûre mais les erreurs vous l'indiqueront sans doute) et le recréer avec pipenv.

Cahier des charges de la démone

Les charges ? Allons direct au verdict : Coupable !

C'est un bot ET une démone. C'est donc assez normal qu'elle aie son caractère. Plus concrètement, qu'est-ce qu'on lui demande ?

Présence sur certains salons 
Suivant les salons, elle a plus ou moins de choses à "faire", cf les autres fonctionnalités.
(100% ) 100% 

Ramener certains flux rss(Link Mauve)
* Ramener certains flux rss (parfois plusieurs à surveiller pour un seul salon) : (100%)
* Actuellement elle est parfois très "lente" à aller interroger les flux. Peut-être que ça vient des flux ? Mais ça n'a pas l'air, on a le souci sur les wiki comme le forum
* Personnalisation des messages pour ramener ces flux (parce que juste les liens, c'est triste) (100%)
(90% ) 90%90%Priority: High

Loguer les conversations. 
Un fichier de log par jour et par salon.
(100% ) 100% 

Parler en étant "animée" 
Ça demanderait à être détaillé. C'est un compte xmpp donc on peut se co avec un second client, mais ça avait tendance à faire buguer les logs etc (je ne sais si c'est encore le cas). L'idéal serait d'avoir un fonctionnement comme [[fr:limnoria#alias|Alias de Limnoria]]. On pourrait discuter de la syntaxe.

Todo :
* Quelle syntaxe utiliser ?
* Comment définir qui a le droit d'utiliser ces commandes ?
(10% ) 10%10% 

Dire qu'elle est en vie 
Quand on dit "Pendorid?", elle répond un truc (marrant, et personnalisé). L'objectif est juste de vérifier qu'elle est bien aussi présente qu'elle le prétends.
(100% ) 100% 

CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/botlogmauve.1746737237.txt.gz · Dernière modification : de zatalyz

Licences Mentions légales Accueil du site Contact Inclusion