Auto-accept invites
Synapse module to automatically accept invites.
Compatible with Synapse v1.84.0 and later.
Installation
From the virtual environment that you use for Synapse, install this module with:
pip install synapse-auto-accept-invite
(If you run into issues, you may need to upgrade pip first, e.g. by running
pip install --upgrade pip)
Then alter your homeserver configuration, adding to your modules configuration:
modules:
- module: synapse_auto_accept_invite.InviteAutoAccepter
config:
# Optional: if set to true, then only invites for direct messages (1:1 rooms)
# will be auto accepted.
# Defaults to false.
accept_invites_only_for_direct_messages: false
# Optional: if set to true, then only invites from local users will be auto
# accepted.
# Defaults to false.
accept_invites_only_from_local_users: false
# (For workerised Synapse deployments)
#
# This module should only be active on a single worker process at once,
# otherwise invites may be accepted by multiple workers simultaneously.
#
# By default, this module is only enabled on the main process, and is disabled
# on workers. To choose a worker to run this module on (to reduce load on the
# main process), specify that worker's configured 'worker_name' below.
#
# Any worker may be specified. If this worker does not have the ability to
# write to Synapse's events stream, it will end up calling out to one that
# does.
#
#worker_to_run_on: workername1
A note about logging
Your Synapse logging configuration should have the following option set in it:
disable_existing_loggers: False
Without it, logging from this module (and potentially others) may not appear in your logs.
Development
In a virtual environment with pip ≥ 21.1, run
pip install -e .[dev]
To run the unit tests, you can either use:
tox -e py
or
trial tests
To run the linters and mypy type checker, use ./scripts-dev/lint.sh.
Releasing
-
Set a shell variable to the version you are releasing (this just makes subsequent steps easier):
version=X.Y.Z
-
Update
setup.cfgso that theversionis correct. -
Stage the changed files and commit.
git add -u git commit -m v$version -n
-
Push your changes.
git push -
When ready, create a signed tag for the release:
git tag -s v$version
Base the tag message on the changelog.
-
Push the tag.
git push origin tag v$version
-
Create a source distribution and upload it to PyPI:
python -m build twine upload dist/synapse_auto_accept_invite-$version*
Metadata
Release files for synapse-auto-accept-invite 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| synapse_auto_accept_invite-1.2.0.tar.gz | 11.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| synapse_auto_accept_invite-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.2 kB
Release files / synapse_auto_accept_invite-1.2.0.tar.gz
| Download URL | synapse_auto_accept_invite-1.2.0.tar.gz |
|---|---|
| Size | 11.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c966b250d525101c70215b39ed8f785dba0389b8f8696149476708b3d23445da
|
|
BLAKE2b-256 checksum How to use checksums |
5a9911f6dee5c8e39e684dfd2af9c85c92f98186389d70fa2f00bae59ddda203
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.11.6
|
Release files / synapse_auto_accept_invite-1.2.0-py3-none-any.whl
| Download URL | synapse_auto_accept_invite-1.2.0-py3-none-any.whl |
|---|---|
| Size | 9.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a43945c280cf66b83a5c30c96f1a097a42c0c3271c694ab79c708b1539405b21
|
|
BLAKE2b-256 checksum How to use checksums |
90101098b4fa62bb9c7eebd10783e8295d7c2566a56b47ea1b6fac7b17f735cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.11.6
|