コンテンツにスキップ

設定

discord-mcbeの設定は2つのファイルに分かれています。

  • .env: BOTトークン、DiscordのID、待ち受けポートなど、環境ごとに異なる値や機密情報
  • config.json: 言語、表示テキスト、チャットフィルター、スクリプトなどの細かい設定

どちらもランチャーのstart.batまたはstart.shと同じフォルダーに置きます。変更後はdiscord-mcbeを再起動してください。

DISCORD_TOKEN=Botのトークン
GUILD_ID=123456789012345678
CHANNEL_ID=123456789012345678
SOCKET_PORT=3063
BRIDGE_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が生成されます。必要に応じて値を変更してください。

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 デバッグログを有効にする

定義されていないキーは警告とともに無視されます。型や値が不正な場合はエラー箇所を表示して起動を中止します。

フィルターは、CHANNEL_IDで受信したDiscordメッセージをMinecraftへ送る前に適用されます。1つのオブジェクト、または適用順の配列を指定できます。

{
"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内ではバックスラッシュを\\のようにエスケープしてください。

"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"
}

詳しい仕組み、全キーの一覧、コントリビューター向けの変更方法は翻訳と表示テキストのカスタマイズを参照してください。

.envのSOCKET_PORTを変更し、/connect localhost:変更後のポートで接続します。

webhookモードのイメージ

通常はBotがMinecraftからのチャットを送信しますが、Webhookを使うこともできます。使用する場合は.envにWebhook URLを追加します。

DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/123456789012345678/...

usernameはプレイヤー名、contentにはチャット本文が入ります。起動・参加・退出・ステータスパネル・コマンドの メッセージは、これまで通りBotから送信されます。

独自のアイコンを設定したい場合は、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}"