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% )
Ramener certains flux rss(Link Mauve) * Ramener certains flux rss (parfois plusieurs à surveiller pour un seul salon) : (100%)
*
* Personnalisation des messages pour ramener ces flux (parce que juste les liens, c'est triste) (100%)(90% ) ![]()
Priority: High
Loguer les conversations. Un fichier de log par jour et par salon. (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% ) ![]()
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% )
Donne un chiffre random dans une fourchette Quand on dit "Pendorid: "Pendorid: lance un dX", X étant le nombre maximum, elle va répondre un chiffre random entre 1 et X. (0% )





