# MatrixAntiDmSpam --- A project to make invite spam more manageable at scale. [Matrix room](https://matrix.to/#/%23anti-dm-spam%3Arory.gay?via=rory.gay) ## Dependencies - `dotnet-sdk 9.0.200+` - A device that is online a lot of the time, can be a server ## Setup ```shell # 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 ```shell # 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](https://github.com/krille-chan/fluffychat/issues/814), [#858](https://github.com/krille-chan/fluffychat/issues/858), [#905](https://github.com/krille-chan/fluffychat/issues/905)). ## Running ```shell # Run the bot cd ~/.local/share/MatrixAntiDmSpam /opt/MatrixAntiDmSpam/MatrixAntiDmSpam ```