MatrixAntiDmSpam
A project to make invite spam more manageable at scale. Matrix room
Dependencies
dotnet-sdk 9.0.200+
- A device that is online a lot of the time, can be a server
Setup
# Check out the repository + submodules
git clone --recursive https://cgit.rory.gay/matrix/tools/MatrixAntiDmSpam.git
# Build and install
./install.sh
# Install or update services to make sure the bot starts up with your system
./install-user-services.sh
Manual setup
# Check out the repository + submodules
git clone --recursive https://cgit.rory.gay/matrix/tools/MatrixAntiDmSpam.git
# Enter project directory
cd MatrixAntiDmSpam/MatrixAntiDmSpam
# Build the project
dotnet publish -c Release
# Install binaries
sudo cp bin/Release/net9.0/linux-x64/publish /opt/MatrixAntiDmSpam
Advanced configuration
Additionally: you can use `appsettings.SomethingHere.json` and use `DOTNET_ENVIRONMENT=SomethingHere` if you want to set this up for multiple accounts. `appsettings.json` is always loaded for shared values. Alternatively, you can use environment variables like `LibMatrixBot__AccessTokenPath=/path/to/access-token` to override values in the configuration file, using double undercores (`__`) as path separator.Note that PolicyLists
refers to special rooms known as Policy List rooms, which are commonly used by moderation bots as Mjolnir and Draupnir.
The default value (Community Moderation Effort) is a policy list that is used by a fairly large number of communities, and is a good starting point.
Additionally, Element Web supports these for hiding messages via a labs flag.
Also note that these may break certain clients, such as FluffyChat (#814, #858, #905).
Running
# Run the bot
cd ~/.local/share/MatrixAntiDmSpam
/opt/MatrixAntiDmSpam/MatrixAntiDmSpam