BridgeBot — ExiServerTeam
DCDBot (DiscordChatBridgeBot)
複数のDiscordサーバーのチャンネルをリアルタイムでつなぐ、Exiサーバー製ブリッジBot。
📡 Discord Bot / 開発・運営:えぃ / プレフィックス: e!

DCDBotとは?

DCDBotは、異なるDiscordサーバーのテキストチャンネル同士を「ブリッジ」として接続し、メッセージをリアルタイムで双方向に転送するBotです。
Webhookを使った名前・アイコン付き転送、メッセージの編集・削除の同期、スパム防止、NGワードフィルター、ブリッジ内投票など、多彩な機能を備えています。

📡 メッセージ転送

ブリッジに接続されたチャンネル間でメッセージをリアルタイム同期。Webhookで送信者名・アイコンもそのまま表示。

✏️ 編集・削除の同期

送信後のメッセージ編集・削除も全ブリッジ先に反映。返信(リプライ)の引用も追従します。

🛡️ スパム・フィルター

10秒以内に5件以上の投稿でクールダウン(60秒)。NGワードはサーバーごとに設定可能。

📊 ブリッジ内投票

接続された全サーバーへ同時に投票を送信。リアクション集計・時間制限・結果表示に対応。

🎭 ブリッジロール

サーバーをまたいで使えるロール機能。メンションや一括通知をブリッジ全体に送れます。

🔗 コードで接続

6文字の参加コードを共有するだけで簡単接続。管理者権限があれば誰でも利用可能。

ブリッジの仕組み

ブリッジとは、複数のサーバー・チャンネルをひとつのグループとして接続する仕組みです。

サーバーA
#general
BridgeBot
Bridge ID
サーバーB
#global
サーバーC
#bridge

管理者が /setup でブリッジを作成すると参加コードが発行されます。 別サーバーの管理者がそのコードで /join することで接続が完成します。

⚠️ 注意:ブリッジ管理コマンドの実行には 管理者権限 が必要です。

コマンド一覧

/ スラッシュe! プレフィックス の2種類があります。 管理者向けと全員向けに分けて記載しています。

🔗 ブリッジ管理

コマンド種別権限説明
/init / スラッシュ 管理者 対話形式でブリッジ(サーバー間連携)の初期設定を行う機能です。
/setup / スラッシュ 管理者 このチャンネルで新しいブリッジを作成。参加コードを発行します。
/join code:XXXXXX / スラッシュ 管理者 参加コードを使って既存のブリッジに接続します。
/leave / スラッシュ 管理者 このチャンネルをブリッジから切断します。
/status / スラッシュ 管理者 ブリッジ接続状況(接続サーバー一覧など)を確認します。
/config [filter_words] / スラッシュ 管理者 NGワードをカンマ区切りで設定。省略すると現在の設定を表示します。
e!setup e! プレフィックス 管理者 スラッシュ版と同じ。ブリッジを新規作成します。
e!join <コード> e! プレフィックス 管理者 スラッシュ版と同じ。参加コードでブリッジ接続します。
e!leave e! プレフィックス 管理者 スラッシュ版と同じ。ブリッジから切断します。
e!config [ワード,...] e! プレフィックス 管理者 NGワードを設定・確認します。

📊 投票

コマンド種別権限説明
/poll <質問> <選択肢> [分] / スラッシュ 管理者 ブリッジ全体に投票を送信。選択肢はカンマ区切り(最大10個)。分数を指定すると自動集計。

🎭 ブリッジロール管理

コマンド種別権限説明
/role create <ロール名> / スラッシュ 管理者 ブリッジ専用ロールを作成します(Discordのロールとは無関係)。
/role give @ユーザー <ロール名> / スラッシュ 管理者 ユーザーをブリッジロールに追加します。
/role remove @ユーザー <ロール名> / スラッシュ 管理者 ユーザーをブリッジロールから削除します。
/role delete <ロール名> / スラッシュ 管理者 ブリッジロール自体を削除します。
/role list / スラッシュ 管理者 ブリッジロールの一覧とメンバーを表示します。
/role ping <ロール名> <メッセージ> / スラッシュ 管理者 ロールメンバー全員に一括通知を送ります(ブリッジ全サーバー)。
e!role-create <ロール名> e! プレフィックス 管理者 プレフィックス版ロール作成。
e!role-give / e!role-add e! プレフィックス 管理者 ロールにメンバーを追加(どちらも同じ動作)。
e!role-remove / e!remove e! プレフィックス 管理者 ロールからメンバーを削除(どちらも同じ動作)。
e!role-delete <ロール名> e! プレフィックス 管理者 ブリッジロールを削除します。
e!role-list e! プレフィックス 管理者 ブリッジロール一覧を表示します。
e!role-ping <ロール名> <メッセージ> e! プレフィックス 管理者 ロールメンバーに一括通知します。

📢 全員向け

コマンド種別権限説明
e!status e! プレフィックス 全員 ブリッジの接続状況を表示します。
e!m <ロール名> e! プレフィックス 全員 ブリッジロールのメンバーをブリッジ全体でメンションします。
e!help e! プレフィックス 全員 コマンド一覧を表示します(管理者は管理者向けコマンドも表示)。

技術仕様

🐍 言語・フレームワーク

Python 3 / discord.py (commands + app_commands)

🗄️ データベース

PostgreSQL(asyncpg)
コネクションプール(最大20)

🔗 Webhook

チャンネルごとに自動生成・キャッシュ。無効化時は自動復旧。

🛡️ スパム検知

10秒以内に5件投稿でクールダウン(60秒)。サーバー×ユーザー単位で管理。