跳到正文

AstralBot

一款兼作 Discord 机器人的 Minecraft 模组,最初为 Create: Astral 制作

收藏

截图

介绍

介绍由机器翻译自 Modrinth 原页面,仅供参考。

AstralBot

build workflow
License
Environment

这是一个将 Minecraft 模组与 Discord 机器人集于一体的整合包。它主要面向 Create: Astral
整合包的官方服务器开发,同时采用了跨平台实现,其他人也可以使用。
本项目旨在让非技术背景的服务器管理员也能轻松上手,
同时为高级用户保留充分的灵活性。

功能

以下是此机器人的核心功能。请参阅状态部分
了解目前已实现的功能。

  • 关联 Discord 和 Minecraft 账号,可选择要求关联账号才能加入白名单
  • 同步 Discord 和 Minecraft 聊天,可选择通过 webhook 提升可读性
  • 使用 Markdown 文件提供 FAQ 命令,无需重启服务器

依赖项

此模组有一些依赖项,其中部分未直接列出,因为它们在技术上是可选的:

实现

  • 使用 JDA 前置库与 Discord API 通信。
  • 使用 Kotlin,以获得比 Java 更好的开发体验
  • 使用 JetBrains Exposed 与数据库通信

配置

以下项目可进行配置:

  • 是否必须关联账号才能加入白名单(默认:off)
  • 聊天同步时模拟 Discord 用户:
  1. 不模拟用户(机器人将以自己的名义发送消息)
  2. (如果可行)模拟 Minecraft 用户(消息将使用 Minecraft 用户名和头像)
  3. (仅在要求关联账号才能加入白名单时可用)模拟 Discord 用户(消息将以关联的 Discord 用户名发送)

默认:模拟 Minecraft 用户(如果启用了 webhook,则使用该方式;否则不模拟用户)

  • 通过命令界面管理 FAQ(默认:off)
  • 数据库连接。默认使用 SQLite 数据库

状态

  • [x] 白名单
  • [ ] FAQ 命令
  • [x] 读取 Markdown 文件
  • [x] 无需重启即可更新建议
  • [ ] 通过命令进行管理/创建
  • [x] 聊天同步
  • [x] Minecraft 到 Discord
  • [x] Discord 到 Minecraft
  • [x] 在 Discord 上模拟用户。可使用 Minecraft 头像或 Discord 头像

运行

目前没有公开可用的此机器人/模组实例。要使用它,请在 Discord Developer Portal 上创建一个新的应用,
并为其启用三个特权网关意图:PRESENCE、SERVER MEMBERS 和 MESSAGE CONTENT。

复制机器人令牌并妥善保存(例如存入密码管理器),切勿向他人透露。要确保机器人能读取令牌,必须将其设置为 Minecraft 服务器可访问的环境变量
DISCORD_TOKEN,或写入配置文件中的 token 键。
例如,在类 Unix 系统中,可以修改 start.sh 脚本来 export 该令牌,或者直接在设置好令牌的情况下启动 shell 脚本:

startmc.sh:

export DISCORD_TOKEN=<place token here>

java ... # java command that starts the server

或者

DISCORD_TOKEN=<place token here> startmc.sh # Start the script with the env variable set

启动服务器后,可以前往 Discord Developer Portal 中的 OAuth2 URL 生成器,创建一个拥有 bot 和 applications.command 权限的 URL。
使用生成的 URL 邀请机器人加入你的服务器。

为了使用用户身份模拟功能,让聊天同步更易读,机器人会尝试在配置的聊天同步频道中创建 webhook
。这意味着它需要拥有管理 webhook 的权限。如果
不希望这样,可以手动在要同步消息的频道中创建 webhook,并在模组配置的
webhook.url选项中设置它。

常见问题

AstralBot 支持哪些 Minecraft 版本?

AstralBot 支持 Minecraft Java 版 1.18.2–1.21.1,共 6 个版本,可用的加载器:Fabric / Forge / NeoForge。下载时注意选择和你游戏版本一致的文件。

AstralBot 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / Forge / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅服务端。

评论

登录后评论和评分

null2264 的其他作品

查看全部 →