Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/luphoria/graim
matrix <=> discord moderation with the power of matrix-appservice-discord
https://github.com/luphoria/graim
discord discord-bot discord-js matrix matrix-bot matrix-bridge matrix-org moderation moderator
Last synced: about 1 month ago
JSON representation
matrix <=> discord moderation with the power of matrix-appservice-discord
- Host: GitHub
- URL: https://github.com/luphoria/graim
- Owner: luphoria
- Created: 2022-04-21T22:41:34.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-01-10T19:13:57.000Z (about 2 years ago)
- Last Synced: 2023-03-06T21:17:03.509Z (almost 2 years ago)
- Topics: discord, discord-bot, discord-js, matrix, matrix-bot, matrix-bridge, matrix-org, moderation, moderator
- Language: TypeScript
- Homepage: https://gra.im
- Size: 330 KB
- Stars: 19
- Watchers: 2
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# graim
matrix <=> discord moderation with the power of matrix-appservice-discord## Social
graim's website is viewable at [gra.im](https://gra.im).
You can join the graim [Matrix space](https://matrix.to/#/#graim:gra.im) as well as the [Discord server](https://discord.gg/MV7fDb4AKy). *the main matrix room is @ [#general:gra.im](https://matrix.to/#/#general:gra.im)## Configure/Install
Check out the [configuration guide](./setup.md).## TODOs
- Bug fixing
- Better guides## Features
- moderation syncs across rooms
- Kick, ban + unban
- Mute
- Strike system
- Automatically attribute moderation history to graimdb
- Discord moderators may use `whosent` to discover what matrix user is behind a Discord message
- Userinfo command
- Database management commands (add/remove user, add/remove moderator)## How
graim is built with the intention of being Matrix-first. There are a few reasons for this:
- Discord API sucks
- Discord webhooks have incredibly little data attributed to them
- I <3 MatrixEvery Discord user, via matrix-appservice-discord, is given its own user (i.e. `@_discord_:matrix.org`. So, graim listens for commands only from Matrix users - because Discord users are Matrix users by proxy.
Simply tie a server to a group of rooms, then tie each Matrix user to a Discord account packaged in one "graim user" :D## Credits
The bot itself - [luphoria](https://luphoria.com)Any other [contributors](https://github.com/luphoria/graim/contributors)
Built with **major help** from [turt2live/matrix-bot-sdk-bot-template](https://github.com/turt2live/matrix-bot-sdk-bot-template) by Travis Ralston
Uses the dependencies:
- [matrix-bot-sdk](https://github.com/turt2live/matrix-bot-sdk)
- [discord.js](https://discord.js.org/)
- [escape-html](https://github.com/component/escape-html)
- [config](https://github.com/lorenwest/node-config)
- [js-yaml](https://github.com/nodeca/js-yaml)Special thanks:
- **HalfShot** for **[matrix-appservice-discord](https://github.com/Half-Shot/matrix-appservice-discord)** for the Discord <-> Matrix bridge itself
- **[Travis Ralston](https://github.com/turt2live)** for the tons of free resources which I used a LOT of