* Add matrix-registration-bot This adds an install and uninstall task plus helpers. The bot is disabled by default. This commit does not include documentation, yet. In short, the bot can be enabled by adding matrix_bot_matrix_registration_bot_enabled: true matrix_bot_matrix_registration_bot_matrix_user_password: "verysecret" matrix_bot_matrix_registration_bot_matrix_admin_token: "supersecret" to the host_vars * Change bot username to bot.matrix-registration-bot following convention * Address smaller remarks, fix local docker build * Switch to an env file * Add environment variables extension for additional config * Add documentation for the matrix-registration-bot * Add screenshot on how to obtain admin access token * Use bot as admin to only have one access token (bot and admin api) * Use cleaner setting of matrix_synapse_registration_requires_token * Use config file for cleaner more secure usage * Delete unneeded env * Rename vars to make usage clear * Fix typos/wording and add notice about logging out * Convert configuration to use |to_json * Reorder role includes Nothing should be after `matrix-common-after`. `matrix-bot-matrix-registration-bot` can probably be anywhere, but it makes sense to put it next to the other `matrix-bot-*` roles. * Minor group_vars/matrix_servers touchups Co-authored-by: Slavi Pantaleev <slavi@devture.com>
3.2 KiB
Setting up matrix-registration-bot (optional)
The playbook can install and configure matrix-registration-bot for you.
The bot allows you to easily create and manage registration tokens. It can be used for an invitation-based server, where you invite someone by sending them a registration token. They can register as normal but have to provide a valid registration token in a final step of the registration.
See the project's documentation to learn what it does and why it might be useful to you.
Registering the bot user
By default, the playbook will set use the bot with a username like this: @bot.matrix-registration-bot:DOMAIN
.
(to use a different username, adjust the matrix_bot_matrix_registration_bot_matrix_user_id_localpart
variable).
You need to register the bot user manually before setting up the bot. You can use the playbook to register a new user:
ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=bot.matrix-registration-bot password=PASSWORD_FOR_THE_BOT admin=yes' --tags=register-user
Choose a strong password for the bot. You can generate a good password with a command like this: pwgen -s 64 1
.
Obtaining an admin access token
In order to use the bot you need to add an admin user's access token token to the configuration. As you created an admin user for the
bot, it is recommended to obtain an access token by logging into Element/Schildichat with the bot account
(using the password you set) and navigate to Settings->Help&About
and scroll to the bottom.
You can expand "Access token" to copy it.
IMPORTANT: once you copy the token, just close the Matrix client window/tab. Do not "log out", as that would invalidate the token.
Adjusting the playbook configuration
Add the following configuration to your inventory/host_vars/matrix.DOMAIN/vars.yml
file:
matrix_bot_matrix_registration_bot_enabled: true
# Token obtained via logging into the bot account (see above)
matrix_bot_matrix_registration_bot_bot_access_token: "syt_bW9hbm9z_XXXXXXXXXXXXXr_2kuzbE"
# Enables registration
matrix_synapse_enable_registration: true
# Restrict registration to users with a token
matrix_synapse_registration_requires_token: true
Installing
After configuring the playbook, run the installation command again:
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
Usage
To use the bot, create a non-encrypted room and invite @bot.matrix-reminder-bot:DOMAIN
(where YOUR_DOMAIN
is your base domain, not the matrix.
domain).
In this room send help
and the bot will reply with all options.
You can also refer to the upstream Usage documentation. If you have any questions, or if you need help setting it up, read the troublshooting guide or join #matrix-registration-bot:hyteck.de.