/discord-spam-reporter

指定した正規表現を満たすメッセージを削除し、投稿者にロールを付与するDiscordBotです。

Primary LanguageRustBSD 2-Clause "Simplified" LicenseBSD-2-Clause

discord-spam-reporter

GitHub Workflow Status License Top Language

指定した正規表現を満たすメッセージを削除し、投稿者にロールを付与するDiscordBotです。

導入

以下のものを事前に用意する必要があります。

  • DiscordBotのトークン
  • Botを導入するサーバーのID
  • Botが通知を送信するチャンネルのID
  • Botが付与するロールのID

バイナリを直接使う場合

  1. cargo build --release
  2. target/release/discord-spam-reporter を取り出す
  3. config.yml を作成する
  4. config.yml を以下の内容で作成する (内容は適宜書き換える)
# patternには正規表現を指定する。
# 正規表現の書式は https://docs.rs/fancy-regex/latest/fancy_regex/#syntax を参照。
rules:
  - pattern: ".+"
    note: "何らかのメッセージ"
  - pattern: "free +nitro"
    note: "free nitroを検知"
  1. .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を使う場合

  1. config.yml.env上記と同様に作成する
  2. 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
  1. docker compose up