A moderation tool for Matrix
Go to file
2019-09-27 20:05:01 -06:00
config Add commands for managing a personal ban list 2019-09-27 15:44:28 -06:00
src Add a sync command 2019-09-27 20:02:03 -06:00
.dockerignore Absolute bare minimum for a bot 2019-09-25 20:13:20 -06:00
.gitignore Absolute bare minimum for a bot 2019-09-25 20:13:20 -06:00
Dockerfile Absolute bare minimum for a bot 2019-09-25 20:13:20 -06:00
LICENSE Initial commit 2019-09-25 19:36:12 -06:00
package.json Add a command to dump the rules the bot is using 2019-09-27 15:57:39 -06:00
README.md Update features list 2019-09-27 20:05:01 -06:00
tsconfig.json Absolute bare minimum for a bot 2019-09-25 20:13:20 -06:00
tslint.json Fix tlsint 2019-09-27 13:54:34 -06:00
yarn.lock Add a command to dump the rules the bot is using 2019-09-27 15:57:39 -06:00

mjolnir

A moderation tool for Matrix.

Features

TODO: Describe what all this means.

Phase 1:

  • Ban users
  • ACL servers
  • Update lists with new bans/ACLs

Phase 2:

  • Pantalaimon support
  • Redact messages on ban (optionally)
  • Less spam in management room
  • Vet rooms on startup option
  • Room upgrade handling (both protected+list rooms)

Phase 3:

  • Synapse antispam module
  • Support community-defined scopes? (ie: no hardcoded config)
  • Riot hooks (independent of mjolnir?)

Docker (preferred)

Mjolnir does not yet have its own image published.

git clone https://github.com/matrix-org/mjolnir.git
cd mjolnir

docker build -t mjolnir .

# Copy and edit the config. It is not recommended to change the data path.
mkdir -p /etc/mjolnir
cp config/default.yaml /etc/mjolnir/production.yaml
nano /etc/mjolnir/production.yaml

docker run --rm -it -v /etc/mjolnir:/data mjolnir

Build it

This bot requires yarn and Node 10.

git clone https://github.com/matrix-org/mjolnir.git
cd mjolnir

yarn install
yarn build

# Copy and edit the config. It *is* recommended to change the data path.
cp config/default.yaml config/development.yaml
nano config/development.yaml

node lib/index.js

Development

TODO. It's a TypeScript project with a linter.