
Nilcord
又一个 Minecraft 的 Discord 桥接
查看大图从一个小众 Minecraft 版本的小众模组加载器的小众项目,如今已扩展到我个人关心的所有 Minecraft 版本!
Nilcord | 又一个 Minecraft 的 Discord 桥接模组
Nilcord 使用 Discord 机器人以及(可选的)Webhook,将你的 Minecraft 服务器聊天连接到指定的 Discord 文本频道。
安装
要设置该模组,只需将模组文件放入 mods 目录(若使用 NilLoader,则放入 nilmods),启动你的 Minecraft 服务器,然后等待其生成配置文件(并因其尚未填写而崩溃)。
配置文件名为 nilcord.toml,位于 config 文件夹中,内容相当直观易懂。
(默认配置)
# 与 Discord 本身相关的设置
[discord]
# 要使用的 Discord 机器人令牌
# default:
token = ""
# 机器人发送消息到 / 接收消息的默认 Discord 频道 ID。与 send_to 和 receive_from 一起使用。可以为空!
# default:
channel_id = ""
# 机器人发送消息到的其他 Discord 频道 ID
send_to = []
# 机器人接收消息的其他 Discord 频道 ID
receive_from = []
# 与 Discord Webhook 相关的设置
[discord.webhook]
# 是否使用 Webhook 将玩家聊天消息发送到 Discord
# default: false
enabled = false
# 要使用的 Webhook URL
# default:
url = ""
# 与 Minecraft 本身相关的设置
[minecraft]
# 是否允许在 Minecraft 中提及 Discord 用户
# default: false
enable_mentions = false
# 是否允许在 Minecraft 中提及 @everyone 和 @here
# default: false
enable_everyone_and_here = false
# 是否在游戏内显示 Discord 消息附件
# default: true
show_attachments = true
# 是否在游戏内显示来自其他 Discord 机器人的消息
# default: false
show_bot_messages = false
# 是否在游戏内显示来自 Discord Webhook 的消息
# default: true
show_webhook_messages = true
# 要忽略其消息的应用程序 / 用户 ID
ignored_ids = ["000000000000000000"]
# 与消息格式化相关的设置
[formatting]
# 与在 Discord 中可见的消息相关的设置
# 可用占位符:<displayname> <username>
[formatting.discord]
# 服务器启动中消息
# 可用占位符:无
# default: **Server starting...**
server_starting_message = "**Server starting...**"
# 服务器已启动消息
# 可用占位符:无
# default: **Server started!**
server_started_message = "**Server started!**"
# 服务器停止中消息
# 可用占位符:无
# default: **Server stopping...**
server_stopping_message = "**Server stopping...**"
# 服务器已停止消息
# 可用占位符:无
# default: **Server stopped!**
server_stopped_message = "**Server stopped!**"
# 服务器崩溃消息
# 可用占位符:无
# default: **Server crashed :(**
server_crash_message = "**Server crashed :(**"
# 玩家聊天消息
# 额外占位符:<message>
# default: **<<username>>** <message>
chat_message = "**<<username>>** <message>"
# 玩家加入消息
# 额外占位符:无
# default: > **<username> joined the game**
join_message = "> **<username> joined the game**"
# 玩家离开消息
# 额外占位符:无
# default: > **<username> left the game**
leave_message = "> **<username> left the game**"
# 玩家进度消息
# 额外占位符:<advancement_description> <advancement_title>
# default: > **<username>** has just earned the achievement **[<advancement_title>]**
#> \> _<advancement_description>_
advancement_fallback_message = "> **<username>** has just earned the achievement **[<advancement_title>]**\n> \\> _<advancement_description>_"
# default: > **<username>** has completed the challenge **[<advancement_title>]**
#> \> _<advancement_description>_
advancement_challenge_message = "> **<username>** has completed the challenge **[<advancement_title>]**\n> \\> _<advancement_description>_"
# default: > **<username>** has reached the goal **[<advancement_title>]**
#> \> _<advancement_description>_
advancement_goal_message = "> **<username>** has reached the goal **[<advancement_title>]**\n> \\> _<advancement_description>_"
# default: > **<username>** has made the advancement **[<advancement_title>]**
#> \> _<advancement_description>_
advancement_task_message = "> **<username>** has made the advancement **[<advancement_title>]**\n> \\> _<advancement_description>_"
# 玩家死亡消息
# 额外占位符:<death_message>
# default: **<username> died:** _<death_message>_
death_message = "**<username> died:** _<death_message>_"
# 与从 Webhook 发送的消息相关的设置(若启用)
[formatting.discord.webhook]
# 用于 Webhook 头像的 URL
# 额外占位符:<skin_id> <skin_model> <uuid>
# default: https://visage.surgeplay.com/bust/128/<skin_id>?<skin_model>
avatar_url = "https://visage.surgeplay.com/bust/128/<skin_id>?<skin_model>"
# Webhook 头像的默认皮肤 ID(若无法加载玩家的皮肤)
# default: 31f477eb1a7beee631c2ca64d06f8f68fa93a3386d04452ab27f43acdf1b60cb
default_skin_id = "31f477eb1a7beee631c2ca64d06f8f68fa93a3386d04452ab27f43acdf1b60cb"
# Webhook 头像的默认皮肤模型(若无法加载玩家的皮肤)
# default: wide
default_skin_model = "wide"
# Webhook 的用户名
# 额外占位符:无
# default: <username>
username = "<username>"
# 玩家聊天消息
# 额外占位符:<message>
# default: <message>
chat_message = "<message>"
# 与在 Minecraft 中可见的消息相关的设置
# 可用占位符:<message> <message_url> <nickname> <role_color> <username>
[formatting.minecraft]
# Discord 消息
# 额外占位符:<attachment_format> <discord_format> <reply_format> <username_format>
# default: [Discord] <reply_format><click type:open_url value:'<message_url>'><<username_format>></click> <message><attachment_format>
discord_message = "[Discord] <reply_format><click type:open_url value:'<message_url>'><<username_format>></click> <message><attachment_format>"
# 用户名格式
# 额外占位符:无
# default: <hover type:show_text value:'@<username>'><color value:'<role_color>'><nickname></color></hover>
username_format = "<hover type:show_text value:'@<username>'><color value:'<role_color>'><nickname></color></hover>"
# 提及格式
# 额外占位符:无
# default: <underline><hover type:show_text value:'@<username>'>@<nickname></hover></underline>
mention_format = "<underline><hover type:show_text value:'@<username>'>@<nickname></hover></underline>"
# 回复格式
# 额外占位符:<reply_message> <reply_nickname> <reply_role_color> <reply_url> <reply_username>
# default: <click type:open_url value:'<reply_url>'><hover type:show_text value:'@<reply_username>: <reply_message>'>[<aqua>←</aqua><color value:'<reply_role_color>'><reply_nickname></color>]</hover></click>
reply_format = "<click type:open_url value:'<reply_url>'><hover type:show_text value:'@<reply_username>: <reply_message>'>[<aqua>←</aqua><color value:'<reply_role_color>'><reply_nickname></color>]</hover></click> "
# 附件格式
# 额外占位符:<attachment_url>
# default: <click type:open_url value:'<attachment_url>'>[<aqua>Attachment</aqua>]</click>
attachment_format = "<click type:open_url value:'<attachment_url>'>[<aqua>Attachment</aqua>]</click>"
(注意,这是 Nilcord 4.2+26.2+fabric 的配置文件。在其他版本上可能看起来有所不同。)
只有 token 和 channel_id 字段(在 discord 类别下)是严格必需填写的;其他所有内容模组都会回退到合理的默认值。但请随意按自己的喜好修改!
备注
要设置 Discord 应用程序(以获取机器人令牌),请遵循 discord.js 的指南:Setting up a bot application | discord.js Guide
要查找 Discord 频道的“Channel ID”,请遵循 Discord 的指南:Where can I find my User/Server/Message ID? - Discord
在 1.21.1 及以下版本中,Fabric 版本还可以使用 Simplified Text Format,以及由 Text Placeholder API 和支持它的各种模组提供的占位符。
在 1.21.2 及以上版本中,Fabric 版本还允许使用 QuickText。
在 1.20.4 以及 26.1 及以上版本中,NeoForge 版本也允许使用 Simplified Text Format 和 QuickText。
Forge 1.7.10 版本额外支持 ChromatiCraft 的进度消息,以及 ServerUtilities 的 AFK 消息。
有评论?问题?建议?要求?在问题追踪器上开一个 issue 吧!
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。