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édente | ||
fr:errbot [2018/04/29 22:02] – [Contrôle des ACL] /* doublon */ merlin8282 | fr:errbot [2021/12/03 19:19] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 6: | Ligne 6: | ||
Cet article détaille comment gérer un bot avec Errbot. Il vaut mieux installer Errbot sur un serveur afin que le bot soit présent en permanence ensuite. | Cet article détaille comment gérer un bot avec Errbot. Il vaut mieux installer Errbot sur un serveur afin que le bot soit présent en permanence ensuite. | ||
+ | <WRAP center round info 60%> | ||
+ | Errbot répondait difficilement à certains de nos besoins tout en consommant un peu trop de mémoire à notre goût pour le peu qu'il faisait, nous ne l' | ||
+ | </ | ||
===== Installation ===== | ===== Installation ===== | ||
Ligne 16: | Ligne 19: | ||
rm / | rm / | ||
ln -s / | ln -s / | ||
- | <WRAP center round important 60%> | + | |
Si vous avez des erreurs sur python lors d'une mise à jour du système, remettez le lien symbolique sur python2 le temps de faire la mise à jour. | Si vous avez des erreurs sur python lors d'une mise à jour du système, remettez le lien symbolique sur python2 le temps de faire la mise à jour. | ||
+ | |||
+ | Note : ce n'est pas bien de faire ça comme ça. Mais ça marche. | ||
</ | </ | ||
+ | |||
+ | ==== Via Pipenv ==== | ||
+ | Pipenv est probablement la façon la plus propre de gérer les choses. L' | ||
+ | |||
+ | sudo apt install python3-pip python3-requests | ||
Puis installez '' | Puis installez '' | ||
Ligne 26: | Ligne 36: | ||
Source : http:// | Source : http:// | ||
- | Note : avec Debian, il faudra | + | Note : avec Debian, il faudra remplacer la simple commande '' |
- | </ | + | |
+ | On créé un dossier où errbot sera installé et on installe ses dépendances : | ||
< | < | ||
mkdir -p " | mkdir -p " | ||
cd " | cd " | ||
- | pipenv | + | python -m pip install |
- | pipenv | + | python -m pipenv |
</ | </ | ||
+ | <WRAP center round tip 100%> | ||
+ | Si vous avez des erreurs à ce stade, lisez bien ce qui est indiqué. | ||
+ | |||
+ | Par exemple, sleekxmpp a un [[https:// | ||
+ | |||
+ | La commande pour installer ces dépendances dans une version antérieure devient donc | ||
+ | < | ||
+ | |||
+ | J'ai aussi eu droit à quelque chose qui se terminait de cette façon : | ||
+ | < | ||
+ | Could not find a version that matches pygments-markdown-lexer> | ||
+ | Tried: 0.1.0.dev39 | ||
+ | There are incompatible versions in the resolved dependencies. | ||
+ | </ | ||
+ | |||
+ | Résolu en faisant ce qui était écrit : | ||
+ | < | ||
+ | python -m pipenv graph</ | ||
+ | </ | ||
+ | |||
+ | On peut enfin initialiser le premier lancement du bot : | ||
+ | < | ||
+ | python -m pipenv run errbot --init | ||
+ | </ | ||
+ | |||
+ | ==== Alternative sans pipenv ==== | ||
- | Alternative sans pipenv | ||
< | < | ||
virtualenv --python $(which python3) ~/ | virtualenv --python $(which python3) ~/ | ||
Ligne 53: | Ligne 89: | ||
pip install sleekxmpp pyasn1 pyasn1-modules | pip install sleekxmpp pyasn1 pyasn1-modules | ||
- | <WRAP center round tip 60%> | + | |
- | Actuellement, | + | |
- | pip install sleekxmpp==1.3.1 pyasn1==0.3.7 pyasn1-modules==0.1.4 | + | |
- | </ | + | |
Ligne 91: | Ligne 124: | ||
# Liste des admins autorisées à modifier le bot en ligne | # Liste des admins autorisées à modifier le bot en ligne | ||
- | BOT_ADMINS = ('zatalyz@movim.eu', ) | + | BOT_ADMINS = ('moi@xmppserver.com', ) |
#Install auto des dépendances des plugins | #Install auto des dépendances des plugins | ||
Ligne 101: | Ligne 134: | ||
BOT_IDENTITY = { | BOT_IDENTITY = { | ||
# XMPP | # XMPP | ||
- | ' | + | ' |
' | ' | ||
} | } | ||
- | CHATROOM_PRESENCE = ('khanat@chat.khaganat.net',' | + | CHATROOM_PRESENCE = ('salon1@chat.xmppserver.com',' |
# " | # " | ||
Ligne 121: | Ligne 154: | ||
ACCESS_CONTROLS = { | ACCESS_CONTROLS = { | ||
' | ' | ||
- | ' | + | ' |
- | ' | + | ' |
}, | }, | ||
} | } | ||
Ligne 172: | Ligne 205: | ||
<WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
C'est probablement presque la bonne façon de faire, sauf que ça ne marche pas pour moi avec pipenv... | C'est probablement presque la bonne façon de faire, sauf que ça ne marche pas pour moi avec pipenv... | ||
- | --- //[[wiki:user: | + | --- // |
</ | </ | ||
Ligne 231: | Ligne 264: | ||
Renseigner son identifiant jabber dans config.py | Renseigner son identifiant jabber dans config.py | ||
- | BOT_ADMINS = (' | + | BOT_ADMINS = (' |
Puis ajouter le bot à ses contacts, et initier la conversation depuis les contacts, pas depuis le salon, sinon il croit qu'on est le salon ! Pour vérifier comment il nous voit, il suffit de lui envoyer la commande " | Puis ajouter le bot à ses contacts, et initier la conversation depuis les contacts, pas depuis le salon, sinon il croit qu'on est le salon ! Pour vérifier comment il nous voit, il suffit de lui envoyer la commande " | ||
Ligne 273: | Ligne 306: | ||
< | < | ||
' | ' | ||
- | ' | + | ' |
}, | }, | ||
}</ | }</ | ||
Ligne 283: | Ligne 316: | ||
Par exemple : | Par exemple : | ||
- | !say krypte@chat.khaganat.net:hello | + | !say salon1@chat.xmppserver.com:hello |
- | !say krypte@chat.khaganat.net:/me n'aime pas causer | + | !say salon2@chat.xmppserver.com:/me n'aime pas causer |
Moralité, va falloir un plugin d' | Moralité, va falloir un plugin d' | ||
- | Autre point de détail : par défaut le plugin est configuré pour que seuls les administratrices puissent utiliser " | + | Autre point de détail : par défaut le plugin est configuré pour que seules |
Il faut modifier le fichier du plugin, dans votre dossier d' | Il faut modifier le fichier du plugin, dans votre dossier d' | ||
Ligne 296: | Ligne 329: | ||
< | < | ||
' | ' | ||
- | ' | + | ' |
- | ' | + | ' |
}, | }, | ||
}</ | }</ | ||
Ligne 312: | Ligne 345: | ||
Alias à créer | Alias à créer | ||
- | !alias add y say krypte@chat.khaganat.net: | + | !alias add y say salon1@chat.xmppserver.com: |
- | !alias add s say khanat@chat.khaganat.net: | + | !alias add s say salon2@chat.xmppserver.com: |
Appel | Appel | ||
!y message | !y message | ||
Ligne 341: | Ligne 374: | ||
!rssreader add addresse_du_flux | !rssreader add addresse_du_flux | ||
- | Cela va associer une ID au flux (feeds). | + | Cela va associer une ID au flux (feed). |
Ligne 358: | Ligne 391: | ||
- | < | + | < |
Pour voir les abonnements de chaque canaux aux flux : | Pour voir les abonnements de chaque canaux aux flux : | ||
!rssreader subscriptions | !rssreader subscriptions | ||
- | ===== Logguer | + | ===== Loguer |
- | Linkmauve nous a créé de quoi loguer les canaux. Téléchargez le fichier [[https:// | + | Linkmauve nous a créé de quoi loguer les canaux, |
- | + | ||
- | Il faut installer le module slixmpp. On en profite aussi pour faire un dossier où seront les logs et le fichier du bot. | + | |
- | + | ||
- | mkdir xmpplog | + | |
- | cd xmpplog | + | |
- | python -m pipenv install slixmpp | + | |
- | + | ||
- | Mettez " | + | |
- | + | ||
- | Sans pipenv, le script prends les arguments de cette façon : | + | |
- | ./log.py -j nom@server.com -p " | + | |
- | + | ||
- | Avec les options suivantes : | + | |
- | * '' | + | |
- | * '' | + | |
- | * '' | + | |
- | * '' | + | |
- | + | ||
- | Avec pipenv, la commande est | + | |
- | python -m pipenv run python ./log.py -j nom@server.com -p " | + | |
- | + | ||
- | Oui c'est un peu long... | + | |
- | + | ||
- | Si ça marche, on créé un service systemd dans ''/ | + | |
- | + | ||
- | < | + | |
- | [Unit] | + | |
- | Description=Chat bot XMPP log | + | |
- | After=network.target network-online.target | + | |
- | + | ||
- | [Service] | + | |
- | Type=simple | + | |
- | User=khaganat | + | |
- | Group=khaganat | + | |
- | WorkingDirectory=/ | + | |
- | ExecStart=python -m pipenv run python ./ | + | |
- | Restart=always | + | |
- | KillSignal=SIGINT | + | |
- | + | ||
- | [Install] | + | |
- | WantedBy=multi-user.target | + | |
- | </ | + | |
- | + | ||
{{tag> Tutoriel Bot Serveur IRC XMPP}} | {{tag> Tutoriel Bot Serveur IRC XMPP}} |