本帖最后由 lt_name 于 2022-7-16 20:59 编辑


MiraiMC —— 适用于Minecraft服务端的QQ机器人插件


介绍

什么是MiraiMC?

MiraiMC 是一个基于 Mirai 的NukkitX插件,能够让你在Minecraft服务器上使用Mirai QQ机器人程序,同时提供一些API帮助开发者简单的调用机器人接口为自己的插件实现多样的功能。

特性
  • 支持多个机器人同时登录
  • 支持启动服务端后自动登录
  • 兼容Mirai目录结构,方便快速迁移
  • 插件级别的QQ绑定,提供最方便的管理
  • 可拓展程度高,带有完善的接口
  • 支持HTTP API工作模式,连接到MCL多插件共用一个机器人(实验性特性)
  • 开发者不断整 新功能,尽可能提供帮助
  • 还有更多……等待你的发掘!

开始使用

服主

如果你是服主,正在被接入QQ机器人所困扰(尤其是Linux和面板服),那么只需要下载本插件即可方便快捷的接入并使用QQ机器人且无需使用额外的软件。
请按下面的步骤开始使用MiraiMC:
  • 下载插件,并将插件文件放入plugins文件夹
  • 下载基于MiraiMC开发的其他插件(如果有的话),并将这些插件放入plugins文件夹
  • 启动服务端(如果尚未启动)
  • 使用指令“ /mirai login <账号> <密码> ”登录你的机器人账号
  • 如果你同时使用了基于MiraiMC开发的插件,请在这些插件的配置文件中调整有关MiraiMC的配置
  • 享受优雅的QQ机器人服务!
可以在这里找到更为详细的使用教程: https://docs.miraimc.dreamvoid.me/

插件开发者

如果你是插件开发者,正在考虑让自己的插件能够对接QQ机器人,那么只需要使用本插件提供的API即可方便快捷的实现需求而无需让服主进行额外的配置。
你可以简单的使用 MiraiMC开发模板 来开始开发一个全新的插件
你也可以为现有插件引入MiraiMC,只需按照以下步骤即可接入MiraiMC:
  • 将下面的代码复制到pom.xml的dependencies项 直接将插件jar文件作为外部库导入
    1. <dependency>
    2. <groupId>io.github.dreamvoid</groupId>
    3. <artifactId>MiraiMC-Integration</artifactId>
    4. <!--请确保版本为Github上的最新版本-->
    5. <version>1.7</version>
    6. <scope>provided</scope>
    7. </dependency>
    复制代码

  • 参照 Javadoc MiraiMC开发模板 编写相关的代码
  • 发布你的插件
可以在这里找到更为详细的开发教程: https://docs.miraimc.dreamvoid.me/

指令与权限

指令

命令 描述 权限
/mirai MiraiMC 机器人主命令 miraimc.command.mirai
/mirai login <账号> <密码> [协议] 登录一个机器人(可多次执行此命令以登录多个机器人) miraimc.command.mirai.login
/mirai logout <账号> 退出并关闭一个机器人 miraimc.command.mirai.logout
/mirai list 列出当前在线的机器人 miraimc.command.mirai.list
/mirai sendfriendmessage <账号> <好友> <消息> 向指定好友发送消息 miraimc.command.mirai.sendfriendmessage
/mirai sendfriendnudge <账号> <好友> 向指定好友发送戳一戳 miraimc.command.mirai.sendfriendnudge
/mirai sendgroupmessage <账号> <群号> <消息> 向指定群发送消息 miraimc.command.mirai.sendgroupmessage
/mirai checkonline <账号> 检查指定机器人是否在线 miraimc.command.mirai.checkonline
/mirai autologin add <账号> <密码> [协议] 添加一个自动登录机器人账号 miraimc.command.mirai.autologin
/mirai autologin remove <账号> 移除一个自动登录机器人账号 miraimc.command.mirai.autologin
/mirai autologin list> 查看自动登录机器人账号列表 miraimc.command.mirai.autologin
/miraimc MiraiMC 插件主命令 miraimc.command.miraimc
/miraimc bind add <玩家名> <QQ号> 为玩家和QQ号添加绑定 miraimc.command.miraimc.bind
/miraimc bind getplayer <玩家名> 获取指定玩家名绑定的QQ号 miraimc.command.miraimc.bind
/miraimc bind getqq <QQ号> 获取指定QQ号绑定的玩家名 miraimc.command.miraimc.bind
/miraimc bind removeplayer <玩家名> 删除一个玩家的绑定 miraimc.command.miraimc.bind
/miraimc bind removeqq <QQ号> 删除一个QQ号的绑定 miraimc.command.miraimc.bind
/miraimc reload 重新加载配置文件 miraimc.command.miraimc.reload

权限

权限节点 描述 默认
miraimc.command.mirai 允许使用 /mirai OP
miraimc.command.mirai.* 允许使用 /mirai 的所有子命令 OP
miraimc.command.mirai.login 允许使用 /mirai login OP
miraimc.command.mirai.logout 允许使用 /mirai logout OP
miraimc.command.mirai.list 允许使用 /mirai list OP
miraimc.command.mirai.sendfriendmessage 允许使用 /mirai sendfriendmessage OP
miraimc.command.mirai.sendfriendnudge 允许使用 /mirai sendfriendnudge OP
miraimc.command.mirai.sendgroupmessage 允许使用 /mirai sendgroupmessage OP
miraimc.command.mirai.checkonline 允许使用 /mirai checkonline OP
miraimc.command.mirai.autologin 允许使用 /mirai autologin OP
miraimc.command.miraimc 允许使用 /miraimc OP
miraimc.command.miraimc.* 允许使用 /miraimc 的所有子命令 OP
miraimc.command.miraimc.bind 允许使用 /miraimc bind 及下属子命令 OP
miraimc.command.miraimc.reload 允许使用 /miraimc reload OP

配置文件

受限于排版格式,请移步此处查看完整的配置文件说明: https://docs.miraimc.dreamvoid.me/docs/configure-file

使用MiraiMC的插件


已知Bug
如果你遇到任何Bug,请通过 在Github上提交issue 的方式进行反馈,我将在之后进行功能补充和完善。

  • 没有!

下载
正式版: ,测试版:
为帖子评分 解锁下载地址 支持我继续开发 (评分人气不消耗自己的人气)
本帖使用下载地址回复可见功能,回复前请先 点我阅读相关版规
如果你想不违反版规又想立刻下载到插件,你可以复制下面这段话直接回复避免违反版规
  1. MiraiMC 真棒,是一款很优秀的插件!
复制代码
█████,如果您要查看本帖隐藏内容请 回复

开源


致谢

感谢以下人员/项目为 MiraiMC 提供的支持:
  • mamoe/mirai :高效率 QQ 机器人支持库,MiraiMC 的根本
  • lucko/helper :强大的 Bukkit 插件开发帮手,为 MiraiMC 提供动态加载 mirai 核心的解决方案
  • brettwooldridge/HikariCP :高效率 MySQL 连接池
  • bStats :Metrics 统计工具
  • 特别感谢 JetBrains 为开源项目提供免费的 IntelliJ IDEA 等 IDE 的授权
  • Github 提供建议和反馈的每一位用户,是你们的建议和反馈让 MiraiMC 变得更好
  • 在使用 MiraiMC 的每一个服主,你们的鼓励是我不断开发的动力

更多帮助&外部链接


下一步的目标
  • [√] 支持Cloudburst Nukkit(NukkitX)
  • [√] 引入 Mirai-Http-API 模式来连接到mirai-console(1.6实现)
  • [  ] 像 mirai console 一样加载 mirai console 插件(遥遥无期,欢迎PR)


更新日志
可移步 Github 发布页面查看更为完整的更新日志: https://github.com/DreamVoid/MiraiMC/releases