Bot to manage a xmpp ejabberd local node from a Mastodon server, by posting keywords to it.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
spla da93574d73 Changed some vars visibility and Fix #3 7 months ago
app/locales Added 'ca' and 'en' locale strings 8 months ago
LICENSE Firs release (WIP) 8 months ago
README.md Updated 8 months ago
ejabberdapi.py Changed some vars visibility and Fix #3 7 months ago
mastodonbot.py Fixed not saving locale config 8 months ago
requirements.txt Added requerimentx.txt and the listen bot, xmpp.py 8 months ago
xmpp.py Changed some vars visibility and Fix #3 7 months ago

README.md

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

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.

The first time you run python xmpp.py, it will ask you for the needed parameters like:

  • 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
  • Mastodon hostname: in ex. your.mastodon.server.host
  • bot's replies language (ca or en)

Requirements

  • Mastodon server bot account
  • xmpp Ejabberd local node with admin privileges

Before running python xmpp.py:

  1. git clone https://git.mastodont.cat/spla/xmppbot.py target_dir.
  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!