DiscordRelay

DiscordRelay

一个简单的聊天桥接,连接您的Hytale服务器和Discord。

实用

DiscordRelay

在你的 Hytale 服务器和 Discord 之间建立双向桥梁。双向中继聊天、播报玩家事件、从 Discord 运行控制台命令、关联账户、同步封禁、追踪统计数据等等。

DiscordRelay

源代码和问题反馈:https://github.com/darkcupid412/discord-relay

功能

  • 聊天中继 - 消息在 Discord 和游戏内同步,显示玩家名称和头像
  • 加入/离开通知 - 附带玩家头像缩略图
  • 死亡消息 - 使用游戏自身的击杀播报,并带有一组随机格式的文本池
  • 服务器启动/停止公告
  • 控制台频道 - 从 Discord 运行服务器命令,受角色权限和命令白名单限制
  • 账户关联 - 通过 /link 命令将 Discord 与游戏内账户关联
  • 角色同步 - 关联账户时自动分配 Discord 角色(机器人需要管理角色权限)
  • 昵称同步 - 将 Discord 昵称设置为游戏内名称(机器人需要管理昵称权限)
  • 要求关联 - 可选择要求关联账户后才能从 Discord 发言和/或进入游戏
  • 游戏内显示 Discord 名称 - 在世界地图、头顶和聊天中显示已关联玩家的 Discord 名称
  • 玩家统计数据 - 游戏时长、放置/破坏方块数、死亡数、击杀数、消息数、探索区域,以及分页的 /playtime 排行榜(含全部时间、今天、7天和30天范围)
  • 机器人状态 - 将 Discord 机器人状态显示为玩家数量
  • 实时状态嵌入 - 使用一个自更新的状态消息,代替重复发帖
  • 封禁同步 - 游戏内封禁会封禁关联的 Discord 用户,Discord 封禁会阻止玩家进入游戏,并播报封禁和解封信息
  • 区域发现播报
  • 聊天过滤器 - 审查或屏蔽特定词语(可配置词库)
  • 嵌入消息 - 用于加入/离开/死亡/状态的消息(机器人需要嵌入链接权限),可针对每个事件进行开关
  • AFK 检测 - 当玩家进入或离开闲置状态时进行播报
  • 更新检查 - 日志中会提示新版本发布

命令

Discord 斜杠命令:

  • /players - 列出在线玩家
  • /link <code> - 关联你的账户
  • /unlink - 取消关联你的账户
  • /stats [player] - 查看玩家统计数据
  • /playtime [range] [page] - 游戏时长排行榜

游戏内命令:

  • /players (别名为 list, online) - 列出在线玩家
  • /link - 获取关联代码
  • /unlink - 取消关联你的账户

配置

配置文件为自我说明的 config.yml:每个选项都有注释解释其作用。

  • 开关任何功能
  • 自定义消息格式,支持 %player%%message% 占位符
  • 控制台命令白名单和黑名单(危险命令默认被屏蔽)
  • 游戏内显示 Discord 消息的颜色(支持命名颜色如 red、dodgerblue 或十六进制色码)
  • 聊天过滤器(审查或屏蔽模式)
  • 可选嵌入消息(可针对每个事件禁用,使用纯文本)
  • 聊天、控制台、加入/离开频道可独立设置
  • Webhook 聊天 - 机器人可以自动创建一个 webhook,以玩家的身份和头像中继聊天消息

从 1.5.1 版本升级:首次启动时会自动转换你现有的 config.yml 文件并保留设置(原文件会保存为 config.yml.old)。

设置

  1. https://discord.com/developers/applications 创建一个机器人,并启用消息内容意图
  2. 将 JAR 文件放入服务器的 mods 文件夹
  3. 启动服务器一次,然后编辑 mods/Discord_Relay/config.yml
  4. 添加你的机器人令牌和聊天频道 ID
  5. 重启服务器

隐私

玩家头像通过 Crafthead (crafthead.net) 根据玩家 UUID 渲染。要禁用头像,请将配置文件中的 AvatarEnabled 设置为 false,消息将不附带头像发送。

支持

问题和建议:https://github.com/darkcupid412/discord-relay/issues Discord:https://discord.gg/knXSzeute3