できること(機能一覧)
DeepL機能の提供状況
DeepL APIを利用する翻訳、無料フォールバックおよびDeepL残高の新規販売は、契約条件の書面確認が完了するまで停止しています。利用可能な機能はDashboardの表示を優先します。
MTS Translation Bot が提供する機能を、できるだけ網羅的にまとめます。
翻訳機能
自動翻訳(Webhook)
- 指定チャンネルの発言を、設定した言語へ自動翻訳して投稿
- 発言者の表示名・アバターを再現(Webhook)。会話が自然に見える
- 最大4言語を同時に出力(言語スロット1〜4)
- メンション・絵文字・チャンネルリンク・URL を保護して翻訳(壊れない)
- 改行・箇条書きなどの行構造を可能な限り保持
リアクション翻訳
- メッセージに国旗の絵文字を付けると、その1件を対応言語へ翻訳
- 自動翻訳をオンにしていないチャンネルでも利用可能
- 長文・Embed にも対応
編集・削除への追従
- 元メッセージを編集 → 翻訳結果を自動で再翻訳・更新(サーバー/ユーザー設定で切替)
- 元メッセージを削除 → 紐づく翻訳投稿も連動して削除
同じ言語の翻訳を省く
- メッセージの言語を判定し、すでにその言語である翻訳先を省略
- 翻訳の回数が減るため、利用枠の消費も減ります
- 設定言語がすべて原文と同じなら、投稿自体を行わない(既定。サーバー設定で変更可)
- 判定できないときは省かず翻訳します(必要な翻訳が消えないことを優先)
定型句の即時翻訳
helloやthank youなど、完全一致する短い挨拶をローカル辞書で即時翻訳- GPU・外部API・LocalLLM利用枠を使わず、Ollamaが混雑中でも応答
- 部分一致はせず、辞書にない文は通常の翻訳エンジンへ安全に戻ります
リダイレクト(中継翻訳)
- あるチャンネルの発言を、別チャンネルや別サーバーへ翻訳して中継
- 多拠点・複数サーバーをまたいだコミュニティ運営に
ボイスチャンネル翻訳(VC文字起こし)
月額サブスク限定
- ボイスチャンネルの発言を文字起こしし、通常の翻訳と同じ仕組みで翻訳して投稿
- 話者ごとに聞き分け、発言者の表示名・アイコンで投稿
- 翻訳結果を合成音声でVCへ読み上げ(任意)
- 読み上げの声は参加者が個別に選択可能
- 音声は保存しません。文字起こし後すぐ破棄されます
エンジンと安定性
複数の翻訳エンジン
| エンジン | 位置づけ | 特徴 |
|---|---|---|
| LocalLLM (Ollama / LM Studio) | 既定・無料 | 文脈を踏まえた自然な翻訳。サーバー資源に依存 |
| DeepL | 高品質オプション | 業界標準の高精度機械翻訳。文字数を購入して利用 |
| Azure Translator | 明示設定時のみ | Developer が一時的・明示的に有効化した場合だけ使用 |
| Google Cloud Translation | 明示設定時のみ | Developer が一時的・明示的に有効化した場合だけ使用 |
音声まわりでは、以下をすべて運用者のマシン上で動かしています(外部送信なし)。
| 用途 | 使用技術 |
|---|---|
| 文字起こし | Whisper(large-v3-turbo) |
| 読み上げ(日本語) | VOICEVOX |
| 読み上げ(英語ほか) | Piper |
自動フォールバック
- LocalLLM がタイムアウト/過負荷/一時障害のとき、既定では DeepL へ自動切替
- Azure / Google Cloud は Developer が明示的に有効化した構成でのみ使用
- DeepL の残量が少ないときは LocalLLM へ自動切替
- すべての経路が利用できない場合を除き、「翻訳が返ってこない」を最小化
→ 詳細:翻訳エンジンとフォールバック
設定・運用
きめ細かい設定
- サーバー全体設定と, チャンネル個別設定(言語・エンジンの上書き)
- チャンネル設定をサーバー設定に同期/リセット
- Bot の表示言語、コマンドの Prefix、コマンドのスコープ(サーバー/チャンネル)
除外・フィルタ
- 特定のユーザー / ロール / キーワードを翻訳対象から除外
- コードブロックを無視するオプション
- ロールごとに翻訳先言語を出し分け(特定ロールには特定言語を翻訳しない 等)
用語集(月額サブスク限定)
- 訳語の固定(例:
Discord→ディスコード)と翻訳しない語(固有名詞・ブランド名の保持) - 翻訳先言語ごとの出し分け(例:ja=ディスコード / en=原語維持)
- 原文を置換せず、該当用語を構造化データとして LocalLLM へ渡します
- DeepL / Azure / Google Cloud はnative同期実装まで用語集を適用しません
- 運営ポリシーが一時停止中でも登録データは保持されます
- 月額サブスク契約中のみ有効(→ 料金・課金)
権限管理
- 翻訳機能ごと(翻訳設定・言語設定・自動翻訳の操作)に、ロール単位で権限を付与/剥奪
- 一般ユーザーが自動翻訳ボタンを操作できるか(全員 / 管理者のみ)の切替
→ 詳細:権限とリダイレクト
ダッシュボードと課金
- Webダッシュボード:Discordログインで、管理サーバーの設定・統計・課金を一元管理
- DeepL文字数チャージ(Stripe決済)
- LocalLLM上限緩和:パス(5日/2週間/1ヶ月)・月額サブスク(倍率 x2 / x4)
- ギフトコード:DeepL文字数を配布できるコードの発行・利用
→ 詳細:ダッシュボードの使い方 / 料金・課金
信頼性
- シャーディング対応:多数のサーバーへスケール
- データは PostgreSQL に集約し、設定や利用状況を一貫管理
- 障害時のフォールバックや、利用上限による公平な運用
