about summary refs log tree commit diff

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
Next, you want to set up a working directory (`~/.local/share/MatrixAntiDmSpam` works well), and copy your access token into a new file (ie. `nano -L ~/.matrix-access-token`). Additionally, you want to copy `appsettings.Development.json` into your working directory, edit it to your liking and rename it to `appsettings.json`.
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