截图
介绍
AstralBot
这是一个将 Minecraft 模组与 Discord 机器人集于一体的整合包。它主要面向 Create: Astral
整合包的官方服务器开发,同时采用了跨平台实现,其他人也可以使用。
本项目旨在让非技术背景的服务器管理员也能轻松上手,
同时为高级用户保留充分的灵活性。
功能
以下是此机器人的核心功能。请参阅状态部分
了解目前已实现的功能。
- 关联 Discord 和 Minecraft 账号,可选择要求关联账号才能加入白名单
- 同步 Discord 和 Minecraft 聊天,可选择通过 webhook 提升可读性
- 使用 Markdown 文件提供 FAQ 命令,无需重启服务器
依赖项
此模组有一些依赖项,其中部分未直接列出,因为它们在技术上是可选的:
- 适用于所用平台的 Kotlin 实现。(例如 Kotlin For Forge 或 Fabric Language Kotlin)
- (Neo-)Forge Config API(已包含在 Neo/Forge 中;Fabric 需要额外安装一个模组)
实现
- 使用 JDA 前置库与 Discord API 通信。
- 使用 Kotlin,以获得比 Java 更好的开发体验
- 使用 JetBrains Exposed 与数据库通信
配置
以下项目可进行配置:
- 是否必须关联账号才能加入白名单(默认:
off) - 聊天同步时模拟 Discord 用户:
- 不模拟用户(机器人将以自己的名义发送消息)
- (如果可行)模拟 Minecraft 用户(消息将使用 Minecraft 用户名和头像)
- (仅在要求关联账号才能加入白名单时可用)模拟 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 的其他作品
查看全部 →
CobbleGen
一款可自定义圆石(石头和玄武岩)生成器的 MC 模组
CobbleGen
一款可自定义圆石(石头和玄武岩)生成器的 Minecraft 模组。
LibreExpFix (Fixes “0 Experience” Bug)
一个小模组,修复了跨维度传送后经验值异常的问题
Skyblock Creator
一个 Fabric 模组,可添加类似空岛的世界类型。
评论
登录后评论和评分