xmppbot.py/README.md

42 líneas
1,7 KiB
Markdown
Original Vista normal Històric

2022-08-18 10:03:27 +02:00
# xmpp bot for Mastodon
Bot to manage a xmpp ejabberd node from a Mastodon server, by posting keywords to it.
The bot only listen keywords from your Mastodon server local users. They can register themselves to your ejabberd xmpp server, unregister, check your xmpp node stats and more!.
The keywords that they can issue against the bot are the following:
@your_bot register
@your_bot unregister
@your_bot stats
@your_bot status
@your_bot sessions
2022-08-18 10:28:20 +02:00
The bot will process any of the above keywords thanks to the wrapper for ejabberd API (`ejabberdapi.py`, coded by me (WIP)) and the excellent wrapper for Mastodon API coded by [halcy](https://github.com/halcy/Mastodon.py).
The first time you run `python xmpp.py`, it will ask you for the needed parameters like:
2022-08-18 10:03:27 +02:00
- api_base_url: http://127.0.0.1:5280 (ejabberd server's API listen port)
- local_vhost: your local ejabberd vhost
- admin_account: the ejabberd admin account, in exemple admin@ejabberd.server
- admin_pass: ejabberd admin account password
2022-08-18 10:06:36 +02:00
- Mastodon hostname: in ex. your.mastodon.server.host
2022-08-18 10:03:27 +02:00
- bot's replies language (ca or en)
# Requirements
- Mastodon server bot account
2022-08-18 10:06:36 +02:00
- xmpp Ejabberd local node with admin privileges
2022-08-18 10:03:27 +02:00
Before running `python xmpp.py`:
2022-08-18 10:26:19 +02:00
1. git clone https://git.mastodont.cat/spla/xmppbot.py target_dir.
2022-08-18 10:03:27 +02:00
2. `cd target_dir`
3. create the Python Virtual Environment with `python3.x -m venv .`
4. activate it with `source bin/activate`
5. run `pip install -r requirements.txt` to install required libraries.
6. set up your contrab to run `python xmpp.py` every minute.
Enjoy!
2022-08-18 10:03:27 +02:00
3.4.2024 - total refactor, adding realtime replies thanks to Mastodon's Streaming API
2022-08-18 10:03:27 +02:00