設定
discord-mcbeの設定は2つのファイルに分かれています。
.env: BOTトークン、DiscordのID、待ち受けポートなど、環境ごとに異なる値や機密情報config.json: 言語、表示テキスト、チャットフィルター、スクリプトなどの細かい設定
どちらもランチャーのstart.batまたはstart.shと同じフォルダーに置きます。変更後はdiscord-mcbeを再起動してください。
DISCORD_TOKEN=BotのトークンGUILD_ID=123456789012345678CHANNEL_ID=123456789012345678SOCKET_PORT=3063BRIDGE_PORT=23191| 変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
DISCORD_TOKEN |
✓ | — | Developer Portalで発行したBotトークン |
GUILD_ID |
✓ | — | スラッシュコマンドを登録するDiscordサーバーのID |
CHANNEL_ID |
✓ | — | Minecraftとのチャット連携に使うテキストチャンネルのID |
SOCKET_PORT |
3063 |
ローカルワールドから/connectするWebSocketポート |
|
BRIDGE_PORT |
23191 |
BDSアドオンが接続するBridgeポート |
config.json
Section titled “config.json”初回起動時に以下のようなconfig.jsonが生成されます。必要に応じて値を変更してください。
{ "config_version": 1, "check_for_updates": true, "language": "ja", "bot": { "show_death_messages": true, "allow_addon_messages": true, "reply_preview_max_length": 9, "strip_color_prefix": true, "panel_update_interval": 10000, "discord_message_filter": [] }, "bridge": { "disable_encryption": false }, "script": { "entry": "scripts/main.js" }, "translation_overrides": {}, "debug": false}| キー | 説明 |
|---|---|
config_version |
設定形式のバージョン。移行処理用なので変更しない |
check_for_updates |
起動時に新バージョンを確認するかどうか |
language |
Botとコンソールの言語。利用可能なロケールを指定 |
timezone_offset |
表示時刻のUTCからのオフセット(整数時間)。省略時はOSのローカル時刻 |
bot.show_death_messages |
プレイヤーの死亡メッセージをDiscordへ送る。 |
bot.allow_addon_messages |
他のアドオンからDiscordへのメッセージ送信を許可する |
bot.reply_preview_max_length |
Discordの返信元本文をMinecraftに表示する最大文字数 |
bot.strip_color_prefix |
MinecraftからDiscordへ送る本文の§カラーコードを除去する |
bot.panel_update_interval |
ステータスパネルの更新間隔(ミリ秒) |
bot.discord_message_filter |
DiscordからMinecraftへ送る本文に適用するフィルター |
bridge.disable_encryption |
ローカルワールド接続の暗号化を無効にする。通常はfalseのまま |
script.entry |
起動時に読み込むスクリプトファイル |
translation_overrides |
組み込み翻訳の一部を上書きするオブジェクト |
debug |
デバッグログを有効にする |
定義されていないキーは警告とともに無視されます。型や値が不正な場合はエラー箇所を表示して起動を中止します。
Discordメッセージフィルター
Section titled “Discordメッセージフィルター”フィルターは、CHANNEL_IDで受信したDiscordメッセージをMinecraftへ送る前に適用されます。1つのオブジェクト、または適用順の配列を指定できます。
長さを制限する
Section titled “長さを制限する”{ "on_fail": "shorten", "max_content_length": 160, "max_content_lines": 4}max_content_length: 最大文字数max_content_lines: 最大行数on_fail: "shorten": 超過部分を切り詰め、末尾に..を付けるon_fail: "cancel": メッセージ全体を転送しない
正規表現に一致する内容を隠す
Section titled “正規表現に一致する内容を隠す”{ "on_fail": "replace", "ignore_pattern": "https?://\\S+"}on_fail: "replace": 一致箇所を***に置き換えるon_fail: "cancel": 一致箇所を含むメッセージ全体を転送しない
ignore_patternはJavaScriptの正規表現として解釈されます。JSON内ではバックスラッシュを\\のようにエスケープしてください。
複数を順番に適用する
Section titled “複数を順番に適用する”"discord_message_filter": [ { "on_fail": "replace", "ignore_pattern": "https?://\\S+" }, { "on_fail": "shorten", "max_content_length": 160, "max_content_lines": 4 }]フィルターは返信元のプレビューにも適用されます。cancelで除外された返信元は***として表示されます。
表示テキストをカスタマイズする
Section titled “表示テキストをカスタマイズする”translation_overridesでは、組み込みの翻訳キーを個別に変更できます。%0、%1などのプレースホルダーはそのまま残します。
"translation_overrides": { "minecraft.message": "§9[Discord]§r %0§r: %1§r", "discord.join": "🟢 %0 joined", "discord.leave": "🔴 %0 left"}詳しい仕組み、全キーの一覧、コントリビューター向けの変更方法は翻訳と表示テキストのカスタマイズを参照してください。
接続先を変更する
Section titled “接続先を変更する”.envのSOCKET_PORTを変更し、/connect localhost:変更後のポートで接続します。
BDS本体のフォルダにconfig/195cf53c-ae53-4437-82d9-a84e08694ffc/variables.json
を作成し、BRIDGE_URLにアドオンから見たdiscord-mcbeのWebSocket URLを設定します。ポートは.envのBRIDGE_PORTと同じ値にしてください。DEFAULT_WORLD_NAMEで初期ワールド名も変更できます。設定変更後はBDSを再起動してください。
variables.jsonはアドオンではなく、BDS本体のフォルダにあるconfig/195cf53c-ae53-4437-82d9-a84e08694ffc/variables.jsonへ配置します。内容は次のとおりです。
{ "BRIDGE_URL": "ws://localhost:23191"}BRIDGE_URLを省略した場合はws://localhost:23191へ接続します。Bearer認証を使う場合はカスタムスクリプトの認証設定も参照してください。
/dmc:setnameで保存済みのワールド名がある場合は、DEFAULT_WORLD_NAMEより優先されます。
チャット連携にWebhookを使う
Section titled “チャット連携にWebhookを使う”
通常はBotがMinecraftからのチャットを送信しますが、Webhookを使うこともできます。使用する場合は.envにWebhook URLを追加します。
DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/123456789012345678/...usernameはプレイヤー名、contentにはチャット本文が入ります。起動・参加・退出・ステータスパネル・コマンドの
メッセージは、これまで通りBotから送信されます。
Webhookアイコンを指定する
Section titled “Webhookアイコンを指定する”独自のアイコンを設定したい場合は、bot.minecraft_chat_avatar_urlでアイコンURLを指定できます。
また、URL中の{name}はプレイヤー名に、{pfid}はScriptAPIのPlayer.persistentIdに置き換えられます。
"minecraft_chat_avatar_url": "https://example.com/faces/{pfid}""minecraft_chat_avatar_url": "https://example.com/faces/{name}"