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 20:23] – [RSSReader] /* ortho */ merlin8282 | fr:errbot [2021/12/03 18: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' | ||
| 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 aux 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}} | ||





