https://github.com/matrix-org/synapse-auto-accept-invite
Synapse module to automatically accept invites
https://github.com/matrix-org/synapse-auto-accept-invite
Last synced: 9 months ago
JSON representation
Synapse module to automatically accept invites
- Host: GitHub
- URL: https://github.com/matrix-org/synapse-auto-accept-invite
- Owner: matrix-org
- License: apache-2.0
- Archived: true
- Created: 2021-11-10T17:03:37.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-01-10T14:23:29.000Z (over 1 year ago)
- Last Synced: 2025-03-28T19:49:26.560Z (over 1 year ago)
- Language: Python
- Size: 42 KB
- Stars: 19
- Watchers: 8
- Forks: 7
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# This repository is no longer maintained!
For users of Element Synapse v1.109.0 or later, this functionality is now directly integrated into Synapse and does not need an external module.
See [the Synapse configuration manual](https://element-hq.github.io/synapse/v1.122/usage/configuration/config_documentation.html#auto_accept_invites) for more information.
For users of earlier Synapse versions, this module should continue to work as-is.
# 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:
```shell
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:
```yaml
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:
```yaml
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
```shell
pip install -e .[dev]
```
To run the unit tests, you can either use:
```shell
tox -e py
```
or
```shell
trial tests
```
To run the linters and `mypy` type checker, use `./scripts-dev/lint.sh`.
## Releasing
1. Set a shell variable to the version you are releasing (this just makes
subsequent steps easier):
```shell
version=X.Y.Z
```
2. Update `setup.cfg` so that the `version` is correct.
3. Stage the changed files and commit.
```shell
git add -u
git commit -m v$version -n
```
4. Push your changes.
```shell
git push
```
5. When ready, create a signed tag for the release:
```shell
git tag -s v$version
```
Base the tag message on the changelog.
6. Push the tag.
```shell
git push origin tag v$version
```
7. Create a source distribution and upload it to PyPI:
```shell
python -m build
twine upload dist/synapse_auto_accept_invite-$version*
```