Discord Integration 是一款功能全面的 Minecraft 插件,它能在游戏服务器与 Discord 之间建立双向桥梁,实现聊天、事件通知、账户关联等丰富的互动功能。
核心功能
- 在 Minecraft 中显示 Discord 频道消息。
- 通过 Webhook 将 Minecraft 聊天内容发送到 Discord。
- 支持在线模式与离线模式服务器的玩家头像显示。
- 在 Discord 中显示玩家死亡信息(可选显示死亡坐标)。
- 在 Discord 中显示玩家加入/离开服务器的消息。
- 丰富的机器人状态(Activity)支持:可显示在线玩家、玩家数量、当前游戏时间及 PlaceholderAPI 信息。
- 所有消息均可完全自定义。
- 支持轻松重载配置。
- 服务器崩溃时发送通知。
- 为所有命令提供权限控制。
- 支持在 Minecraft 中格式化提及 Discord 用户、角色和频道。
- 支持表情符号(Emoji)。
- 账户关联:玩家可将 Minecraft 与 Discord 账户绑定。
- 为已关联或未关联 Discord 账户的成员提供特殊角色。
- 将已关联玩家的游戏名同步为 Discord 昵称。
- 控制台频道同步。
- 支持 Dynmap 网页聊天。
- 完全免费并在 GitHub 开源。
计划与支持
- 功能规划与问题反馈:所有计划开发的功能与已知问题均列在 GitHub Issues 页面。如果你有任何想法或发现了 Bug,欢迎提出。
- GitHub 仓库:https://github.com/dominik-korsa/discord-integration
- Discord 支持服务器:https://discord.gg/UZjrbpk6ht
安装与配置
安装指南
详细的安装与 Discord 机器人配置步骤,请参阅官方 Wiki:
https://github.com/dominik-korsa/discord-integration/wiki/Configuring-a-Discord-bot
配置文件
- 主配置 (config.yml):v3.5.1 默认文件可在此查看:
https://github.com/dominik-korsa/discord-integration/blob/v3.5.1/plugin/src/main/resources/config.yml
- 消息配置 (messages.yml):v3.5.1 默认文件可在此查看:
https://github.com/dominik-korsa/discord-integration/blob/v3.5.1/plugin/src/main/resources/messages.yml
消息模板
消息配置中的许多字符串支持使用 %% 包裹的模板变量。以下是完整列表:
discord-activity 与 discord-activity-empty
%online%- 当前在线玩家数%max%- 服务器最大玩家数%player-list%- 在线玩家名的逗号分隔列表%time%- 当前世界时间(格式可在config.yml的activity.time部分配置)- 任何 PlaceholderAPI 标签
discord.join 与 discord.quit
%player%- 玩家名称
discord.death
%death-message%- 聊天中可见的死亡信息%player%- 玩家名称%pos-x%,%pos-y%,%pos-z%- 玩家死亡时的(方块)坐标
discord.death-fallback (当无死亡信息时使用)
%player%- 玩家名称%pos-x%,%pos-y%,%pos-z%- 玩家死亡时的(方块)坐标
minecraft.member-mention
%username%- 用户的全局 Discord 名(例如:Dominik Korsa)%nickname%- 用户在你服务器上的昵称(未设置时默认为用户名)%user-tag%- 用户标签(例如:Dominik Korsa#7409)%user-id%- 用户ID%user-color%- 颜色代码,可用于格式化,显示为 Discord 上的颜色(当用户无颜色时,默认为minecraft.member-mention.default-color的值)
minecraft.role-mention
%role-name%- 角色名%role-id%- 角色ID%role-color%- 颜色代码,类似于minecraft.member-mention(默认为minecraft.role-mention.default-color的值)
minecraft.channel-mention
%channel-name%- 频道名称%channel-category%- 频道所属分类的名称%channel-id%- 频道ID%guild-name%- 频道所在 Discord 服务器的名称
minecraft.message 与 minecraft.tooltip
- 包含
minecraft.member-mention的所有模板,应用于消息作者(默认的%user-color%使用minecraft.default-author-color) - 包含
minecraft.channel-mention的所有模板,应用于消息发送的频道 %time-short%与%time-long%- 消息发送时间(例如:21:37 / 21:37:01)。时区和格式可在config.yml的date-time部分配置。%content%- Discord 消息文本
commands.help.header
%plugin-version%- 已安装的 Discord Integration 插件版本
commands.help.command
%command%- 命令,包含/(例如/di reload)%description%- 命令描述,来自commands.descriptions
minecraft.linking.kick 与 commands.link.message
%code%- 关联代码,用于/link-minecraft命令
minecraft.linking.claimed-by-other-player
%player-name%- 已认领此 Discord 账户的玩家 Minecraft 名%user-tag%- 已关联账户的 Discord 用户标签
minecraft.linking.success
%user-tag%- 已关联账户的 Discord 用户标签
权限列表
discordintegration.command.reload- 允许用户使用/di reload命令。默认:OPdiscordintegration.command.link- 允许用户使用/di link命令。默认:所有人discordintegration.command.unlink- 允许用户使用/di unlink命令。默认:所有人discordintegration.notifyupdates- 拥有此权限的用户在加入服务器时会收到 Discord Integration 的更新通知。默认:OPdiscordintegration.bypasslinking- 拥有此权限的用户在强制关联模式下可不关联账户进入服务器。默认:无人
插件兼容性
支持的插件
- Dynmap:支持网页聊天功能。
- No Chat Reports:兼容支持(由其作者添加)。
不兼容的插件
- Venture Chat:已知不兼容。
其他信息
使用情况统计
此插件使用 bStats 进行匿名使用情况统计。你可以在 plugins/bStats/config.yml 文件中选择退出。