截图
介绍
版本 4.X.X
旧版本的模组请查看维基。
此模组可将 Minecraft 聊天与 Discord 聊天互通。
此模组还为 Dimension Access Manager(CurseForge 或 Modrinth)和 More MobGriefing Options(CurseForge 或 Modrinth)添加了 Discord 命令集成。
此模组仅在服务器端运行,在客户端无法使用。
想和朋友一起玩,但需要一台服务器?不知道如何搭建?直接租用一台已配置好的服务器吧!
点击上方图片,选择一个方案(建议至少选择 6 GB),
使用我的优惠码 agent,首月即可享受 25% 折扣,尽情和朋友一起游玩吧!
重要提示
- 分享安装了 Discord Integration 的服务器世界时,请记得删除“serverconfig”文件夹中的“discordintegration-server.toml”文件,以保护你的机器人令牌。
- 你可以在 Discord 开发者网站的“Bot”选项卡中重新生成机器人令牌。
支持情况

未发布此模组的 Minecraft 版本不受支持。
这里也提供了文本版本。
功能
聊天
Minecraft > Discord
在 Minecraft 聊天中发送的所有内容都会通过 Discord 机器人同步到 Discord 聊天。
额外的死亡消息和进度消息也会发送到 Discord。
“say”和“me”命令已修改,执行后也会将消息发送到 Discord。
服务器启动和停止消息可以在配置中自定义。
Discord > Minecraft
除机器人发送的消息外,所有消息都会发送到 Minecraft 聊天。
如果在配置中启用,也可以将机器人消息发送到 Minecraft 聊天。
你可以配置从 Discord 传输到 Minecraft 的消息长度上限,以防止刷屏。如果消息过长,Discord 聊天中会显示错误提示。
命令消息也不会发送到 Minecraft 聊天。
Discord Integration 提供了一些默认命令,也可以在配置中添加自定义命令。命令前缀同样可以在配置中设置。
管理
Discord Integration 的“管理”部分由两部分组成:管理频道和管理角色。
在管理频道中,可以使用所有 Discord Integration 命令。此外,还会显示服务器启动、停止和崩溃,以及玩家加入和离开的消息。如果启用了白名单功能,还会显示 Minecraft 账号与 Discord 账号绑定或解除绑定,以及 Minecraft 账号被添加到白名单或从白名单中移除的消息。
此外,管理频道还可供 Minecraft 服务器的版主和管理员交流,这些消息不会显示在 Minecraft 聊天中。
拥有管理角色后,可以执行标记为管理命令的命令。
白名单
要使用 Discord Integration 提供的白名单功能,必须在 server.properties 文件中启用白名单。它提供两种保障白名单安全的机制:角色机制和单独的链接管理机制,具体说明见下文各节。离开 Discord 服务器的用户,其账号关联会自动移除。如果账号关联不同步,例如 Minecraft 服务器处于离线状态或 Discord API 出现问题,可以通过重启服务器解决,重启时会重新同步账号关联。
使用配置项 “whitelist.use_role” 设置是否启用角色机制,使用配置项 “whitelist.use_single_linking_management” 设置是否启用单独的链接管理机制。
用户可以在聊天频道中使用 !link 和 !unlink 命令来建立账号关联。重要提示:必须先在配置中启用 !link 和 !unlink 命令,才能使用它们。
仅建立关联
如果两种机制都未启用,用户只需建立账号关联即可加入白名单。
角色机制
如果启用了角色机制,用户必须拥有 ID 设置在配置项 “whitelist.role_id” 中的角色。该角色必须由 Discord 服务器的版主分配。如果使用 “@everyone” 角色,用户只需建立账号关联即可加入白名单。
单独的链接管理
使用单独的链接管理机制需要设置两个配置值。”whitelist.linking_management_channel_id” 应设置为显示“关联消息”的频道 ID。”whitelist.single_linking_management_role_id” 是用于激活或停用账号关联所需角色的 ID。只需点击消息下方的勾选或“X”表情反应,即可激活或停用账号关联。
服务器启动时,会更新链接管理频道中的所有关联消息。由于 Discord API 的限制,每条消息约需 1 秒。

角色机制 + 单独的链接管理
Discord 用户必须拥有 ID 设置在配置变量 “whitelist.role_id” 中的角色,并且必须在链接管理频道中激活账号关联(详情见上一节)。
Minecraft 命令
/discord commands– 显示 Discord 集成中配置的可用命令列表,并说明各命令的作用。/discord gamerules– 显示所有 Minecraft 游戏规则的值。/discord mods– 显示服务器上的所有模组列表。/discord link <player> [<discordMemberId>]– 将 Discord 用户与 Minecraft 玩家关联。在 Discord 聊天中只能使用仅包含玩家名称的格式;在 Minecraft 中则必须同时提供玩家名称和 discordMemberId 才能使用此命令(仅 op 等级为 3 或更高的玩家可用)。/discord unlink <player> [<discordMemberId>]– 解除 Discord 用户与 Minecraft 玩家的关联。在 Discord 聊天中只能使用仅包含玩家名称的格式;在 Minecraft 中则必须同时提供玩家名称和 discordMemberId 才能使用此命令(仅 op 等级为 3 或更高的玩家可用)。
默认 Discord 命令
在 Discord 聊天中输入以下命令,即可获取 Minecraft 服务器的信息。
可以在配置文件中添加自定义命令。
原版 Minecraft 命令
!difficulty– 显示服务器的难度。!gamerules– 显示游戏规则及其值。!help– 显示所有命令及其说明。!link <Minecraft player name>– 将 Minecraft 玩家与执行此命令的 Discord 用户关联。!mods– 显示服务器上的模组列表。!online– 显示服务器上的玩家人数及玩家名单。!seed– 显示当前地图的种子。!time– 显示服务器当前的游戏时间。!tps– 显示服务器及其各个维度的 TPS 统计数据。!unlink <Minecraft player name>– 解除 Minecraft 玩家与执行此命令的 Discord 用户之间的关联。
Dimension Access Manager 模组命令
!dimensions– 显示所有维度的访问状态。
More MobGriefing Options 模组命令
!mobgriefing– 显示所有生物破坏相关选项。
服务器配置
配置文件位于 “world” 文件夹中的 “serverconfig” 文件夹内,文件名为 “discordintegration-server.toml”。对于服务器,地图文件夹的名称在 “server.properties” 文件中设置。
- bot – 机器人常规配置
- active – 是否启用 Discord 集成?默认值:false
- bot_token – Discord 机器人的令牌。默认值:”INSERT BOT TOKEN HERE”
- guild_id – Discord 服务器的服务器 ID,Discord 集成将在该服务器上运行。
- discord_presence – Discord 状态配置
- show_discord_presence – 是否显示 Discord 状态消息?默认值:false
- message – Discord 状态中显示的消息(活动始终显示为正在游玩)。(可用参数:%online_player_count% = 在线玩家人数,%max_player_count% = 最大玩家人数)默认值:”Minecraft with %online_player_count% players”
- chat – 聊天频道设置
- enabled – 是否关联 Minecraft 聊天和 Discord 聊天?默认值:false
- channel_id – 用于关联 Minecraft 聊天和 Discord 聊天的频道 ID。
- use_raw_message_format_discord_to_minecraft – Discord 到 Minecraft 的消息使用原始消息格式(示例:https://minecraft.fandom.com/wiki/Commands/tellraw#Examples)?默认值:false
- invalid_raw_message_format_for_discord_to_minecraft_error_message – 原始消息格式的 JSON 格式错误时,在 Discord 中显示的错误消息。(可用参数:%username% = Discord 用户名,%nickname% = Discord 昵称,%error_message% = 错误消息,%new_line% = 换行)默认值:”%username%%new_line%错误:Discord 到 Minecraft 的原始消息格式不是有效的 JSON。%new_line%%error_message%”
- message_format_discord_to_minecraft – Discord 到 Minecraft 消息的格式。(可用参数:%username% = Discord 用户名,%nickname% = Discord 昵称,%message% = 消息)默认值:”[%username%] %message%”
- message_format_minecraft_to_discord – Minecraft 到 Discord 消息的格式。(可用参数:%player% = 玩家名称,%message% = 消息)默认值:”%player% %message%”
- message_format_minecraft_to_discord_me_message – Minecraft 的 /me 命令发送到 Discord 的消息格式。(可用参数:%player% = 玩家名称,%message% = 消息)默认值:”%player% %message%“
- max_char_count – 发送到 Minecraft 聊天的 Discord 消息最多允许多少个字符?如果值为 -1,则不限制长度。默认值:-1
- max_char_count_error_message – 消息过长时,在 Discord 中显示的错误消息。(可用参数:%username% = Discord 用户名,%nickname% = Discord 昵称,%max_char_count% = 消息长度上限(chat.max_char_count 的值),%actual_message_char_count% = 所发送消息的实际长度,%new_line% = 换行)默认值:”%username%%new_line%错误:消息过长。%new_line%消息最多只能包含 %max_char_count% 个字符。%new_line%你的消息包含 %actual_message_char_count% 个字符。”
- transmit_bot_messages – 是否将其他机器人的消息发送到 Minecraft 聊天?默认值:false
- suppress_server_messages – 是否隐藏 Minecraft 服务器发送的消息(例如,使用 say 命令发送的消息)?默认值:false
- messages – 在 Discord 聊天频道中显示的消息
- server_started – 服务器启动消息的选项(enabled: true,message: “服务器已启动”)
- server_stopped – 服务器停止消息的选项(enabled: true,message: “服务器已停止”)
- server_crashed – 服务器崩溃消息的选项(enabled: true,message: “服务器已崩溃”)
- player_joined – 玩家加入消息的选项(enabled: true,消息中包含 %player%)
- player_left – 玩家离开消息的选项(enabled: true,消息中包含 %player%)
- player_died – 玩家死亡消息的选项(enabled: true,消息中包含 %player%、%default_message%)
- tamed_mob_died – 驯服的生物死亡消息的选项(enabled: true,消息中包含 %tamed_mob%、%default_message%)
- player_got_advancement – 玩家获得进度消息的选项(enabled: true,消息中包含 %player%、%advancement_title%、%advancement_description%、%new_line%)
- management – 管理频道设置
- enabled – 是否使用管理频道?默认值:false
- channel_id – 频道 ID,管理频道应位于此处。
- role_id – 角色 ID,Discord 用户需要此角色才能执行管理命令
- messages – 在 Discord 管理频道中显示的消息(server_started、server_stopped、server_crashed、player_joined、player_left、linking_created、linking_removed、whitelist_update_with_forced_message_update_start、whitelist_update_with_forced_message_update_finished、player_whitelist_added、player_whitelist_removed)
- whitelist – Discord 中白名单管理的设置
- enabled – 是否应启用 Discord 中的白名单管理?默认值:false
- use_role – 用户是否必须拥有特定角色才能被加入白名单?默认值:true
- role_id – Discord 角色的角色 ID,用户必须拥有该角色才能被加入白名单。
- use_single_linking_management – 在 Minecraft 账号被加入白名单之前,是否必须单独激活每个关联?默认值:true
- single_linking_management_role_id – Discord 角色的角色 ID,用户必须拥有该角色才能激活或停用关联。仅在 whitelist.use_single_linking_management 为 true 时需要
- linking_management_channel_id – 频道的频道 ID,关联的激活在此频道中处理。
- command_settings – 命令设置
- command_prefix – Discord 命令的命令前缀。默认值:”!”
- command_normal_user_permission_level – 对于没有管理角色的用户,Minecraft 命令的权限等级。默认值:2
- command_management_user_permission_level – 对于拥有管理角色的用户,Minecraft 命令的权限等级。默认值:4
- other_bots_command_prefixes – 其他机器人的命令前缀。带有这些前缀的消息不会发送到 Minecraft 聊天中。
- messages – 命令消息设置(only_management_command_hint_message、link_created_result_message、link_already_exists_result_message、link_removed_result_message、link_invalid_discord_member_id_error_message、unknown_command_error_message、invalid_permissions_error_message)
- commands – 从 Discord 到 Minecraft 命令的命令映射(minecraft_command、discord_command、management_command、use_parameters、description、enabled)
如何设置 Discord 机器人并获取机器人令牌
首先,你必须登录 Discord 开发者网站。
点击“New Application”并为你的应用输入一个名称。
转到“Bot”选项卡。
点击“Reset Token”以获取用于配置的机器人令牌。该令牌仅显示一次,因此请直接将其复制到配置中。
启用特权网关意图
此步骤是必需的。在“Bot”选项卡中,向下滚动到“Privileged Gateway Intents”并启用:
- Server Members Intent – 白名单、关联和管理角色需要此项
- Message Content Intent – 读取 Discord 聊天中的消息和命令需要此项
点击“Save Changes”。
不需要“Presence Intent”。
如果未启用这些意图,机器人将无法连接到 Discord,服务器日志会显示带有“Disallowed intents”的错误(关闭代码 4014)。
要将机器人添加到服务器,请点击“General Information”,并将“Client ID”填入以下链接:
https://discordapp.com/oauth2/authorize?client_id=YOUR_BOTS_CLIENT_ID&scope=bot&permissions=75840
你必须将 YOUR_BOTS_CLIENT_ID 替换为机器人的 Client ID。
打开此链接,将机器人添加到你的某个服务器。
机器人只能查看你允许它查看的频道。该链接有意不给机器人“View Channel”权限,因此它只能查看所有人(@everyone)都能看到的频道,以及你明确允许它查看的频道。如果配置中指定的频道(聊天频道、管理频道、关联管理频道)并非所有人都能看到,请在每个频道中右键点击该频道 >“Edit Channel”>“Permissions”,为机器人(或其角色)授予“View Channel”权限。否则,机器人将无法在这些频道中读取或发送消息。
你只能将机器人添加到自己的服务器。如果要将机器人添加到你不拥有的服务器,必须在 Bot 标签页中勾选“Public Bot”选项,然后由服务器所有者将机器人添加到其 Discord 服务器。
如何获取服务器 ID
要获取服务器 ID,请在 Discord 中进入“User Settings”>“Advanced”,并启用“Developer Mode”。
接下来,前往机器人要运行的服务器。
右键点击服务器名称或图标,点击“Copy Server ID”,然后将其粘贴到配置中。

如何获取频道 ID
要获取频道 ID,请在 Discord 中进入“User Settings”>“Advanced”,并启用“Developer Mode”。
接下来,前往机器人要运行的服务器和频道。
右键点击该频道,点击“Copy ID”,然后将其粘贴到配置中。

如何获取角色 ID
要获取角色 ID,请在 Discord 中进入“User Settings”>“Advanced”,并启用“Developer Mode”。
接下来,在服务器中进入“Server Settings”>“Roles”。
右键点击该角色,点击“Copy Role ID”,然后将其粘贴到配置中。

感谢 Muse31 提供徽标。
你可以在非商业整合包中使用这个模组,无需征求许可。
你可以在 CurseForge 和 Modrinth 上找到我的更多模组。

常见问题
Discord Integration (DI) 支持哪些 Minecraft 版本?
Discord Integration (DI) 支持 Minecraft Java 版 1.14.4–26.3,共 38 个版本,可用的加载器:Forge / NeoForge。下载时注意选择和你游戏版本一致的文件。
Discord Integration (DI) 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Forge / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。
GeheimagentNr1 的其他作品
查看全部 →Easier Sleeping
只需一定比例的玩家睡觉即可跳过夜晚。
ManyIdeas Core
包含许多 Many Ideas 模组所需的方块、工具和物品。
Recipes Library
为配方添加实现的前置库。
ManyIdeas Doors
提供超过125种大型多方块和普通尺寸的门。

评论
登录后评论和评分