discord-spam-reporter
指定した正規表現を満たすメッセージを削除し、投稿者にロールを付与するDiscordBotです。
導入
以下のものを事前に用意する必要があります。
- DiscordBotのトークン
- Botを導入するサーバーのID
- Botが通知を送信するチャンネルのID
- Botが付与するロールのID
バイナリを直接使う場合
cargo build --release
target/release/discord-spam-reporter
を取り出すconfig.yml
を作成するconfig.yml
を以下の内容で作成する (内容は適宜書き換える)
# patternには正規表現を指定する。
# 正規表現の書式は https://docs.rs/fancy-regex/latest/fancy_regex/#syntax を参照。
rules:
- pattern: ".+"
note: "何らかのメッセージ"
- pattern: "free +nitro"
note: "free nitroを検知"
.env
ファイルもしくは環境変数に直接以下の変数を指定する
# `config.yml`の存在する場所をフルパスまたはワーキングディレクトリからの相対パスで指定
CONFIG_FILE_PATH=/path/to/your/config.yml
# DiscordBotのトークン
TOKEN=YourDiscordBotToken
# Botを導入するサーバーのID
GUILD=123456789101112131
# Botが通知を送信するチャンネルのID
REPORT_CHANNEL=123456789101112131
# Botが付与するロールのID
ROLE=123456789101112131
Dockerを使う場合
config.yml
と.env
を上記と同様に作成するcompose.yml
を以下の内容で作成する(内容は適宜書き換える)
volumes
の./config.yml
のパスは上記でCONFIG
を指定する場合のものと同様です。
services:
bot:
image: ghcr.io/giganticminecraft/discord-spam-reporter:latest
restart: always
volumes:
- ./config.yml:/config.yml
env_file:
- ./.env
docker compose up