Minecraft(我的世界)中文论坛

 找回密码
 注册(register)

!header_login!

只需一步,立刻登录

查看: 43987|回复: 1801

[原创插件] MiraiMC:让你的服务器登录QQ机器人

[复制链接]
DreamVoid 当前离线
积分
8193
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2020-1-30
查看详细资料
发表于 2021-6-6 21:11:00 | 显示全部楼层 |阅读模式
服务端插件
英文名称: MiraiMC QQBot
中文名称: MiraiMC QQ机器人
插件来源: 原创
适用服务端: CraftBukkit Spigot Sponge BungeeCord Paper |其它| 
插件类型: 信息 管理 前置API 
语言支持: 简体中文 English 
适用版本: 1.18.X 1.17.X 1.16.X 1.15.X 1.14.X 1.13.X 1.12 1.11 1.10 1.9 1.8 1.7.10 1.7.2 1.6 其他 
前置Mod|插件: [可选] PlaceholderAPI
下载地址: https://github.com/DreamVoid/MiraiMC/releases/latest
原帖地址: https://github.com/DreamVoid/MiraiMC
插件Logo: -
插件简介: 适用于Minecraft服务端的QQ机器人插件

您尚未登录,立即登录享受更好的浏览体验!

您需要 登录 才可以下载或查看,没有帐号?注册(register)

x
本帖最后由 zhanshi123 于 2022-2-1 16:04 编辑


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


介绍

什么是 MiraiMC?

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

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

开始使用

服主

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

插件开发者

如果你是插件开发者,正在考虑让自己的插件能够对接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.6</version>
    6.     <scope>provided</scope>
    7. </dependency>
    复制代码

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

常见问题

1. 为什么总会莫名其妙的出现这样或那样的报错?

请尽量避免使用Forge服务端(如Catserver、Loliserver、Mohist、Arclight之类的支持安装mod的Bukkit服务端),这类服务端通常会修改插件的工作方式以“兼容”mod或原版游戏的工作。我不再帮助解决因使用上述服务端导致的任何问题,请自行联系相关服务端作者解决兼容性问题。
如果你没有使用Forge服务端,则可以通过将服务端日志文件回复给置顶楼层或者前往Github Issue Tracker提交问题。


2. 为什么我开的Issue/Pull Request被直接关闭了?

①你没有按照要求开Issue,我不会花费时间去理解不按模板提交的issue。②你的Issue在之前已经有人提过了,为了处理效率不接受两个相同问题的Issue。③你在Gitee等其他Git平台提交了PR,除了Github外,所有Git平台都是Github的镜像,都从Github拉取代码,因此不接受其他Git平台的PR。


3. 为什么出现报错“JCE cannot authenticate the provider BC”

此问题不影响正常使用,可直接忽略。如果你不想看见这个报错,请阅读此链接给出的解决方案,如无效或者你无法理解解决方案,请确保你使用的是未被修改过的Java。我推荐使用Azul Zulu。另外,有报告称出现此问题的用户使用了OpenJ9,如果你正在使用,可尝试更换Hotspot版本。


4. 我看其他同类机器人插件都说Linux/面板服不能登录,让我去下载这个或那个软件,我要怎么用你这个插件?

MiraiMC已经完全重写登录验证流程,不会存在其他不完善插件的问题。当你登录机器人账号时,插件会引导你完成登录验证。请放心在Linux等无图形界面的系统环境使用。



指令与权限

指令

命令描述权限
/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 sendfgroupmessage <账号> <群号> <消息>向指定群发送消息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
/miraimcMiraiMC 插件主命令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允许使用 /miraiOP
miraimc.command.mirai.*允许使用 /mirai 的所有子命令OP
miraimc.command.mirai.login允许使用 /mirai loginOP
miraimc.command.mirai.logout允许使用 /mirai logoutOP
miraimc.command.mirai.list允许使用 /mirai listOP
miraimc.command.mirai.sendfriendmessage允许使用 /mirai sendfriendmessageOP
miraimc.command.mirai.sendfriendnudge允许使用 /mirai sendfriendnudgeOP
miraimc.command.mirai.sendgroupmessage允许使用 /mirai sendgroupmessageOP
miraimc.command.mirai.checkonline允许使用 /mirai checkonlineOP
miraimc.command.mirai.autologin允许使用 /mirai autologinOP
miraimc.command.miraimc允许使用 /miraimcOP
miraimc.command.miraimc.*允许使用 /miraimc 的所有子命令OP
miraimc.command.miraimc.bind允许使用 /miraimc bind 及下属子命令OP
miraimc.command.miraimc.reload允许使用 /miraimc reloadOP

配置文件

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

PlaceholderAPI 变量

请先运行命令/papi ecloud download miraimc,然后才能使用以下变量。
  • %miraimc_counts% - 存在的机器人数量
  • %miraimc_isonline_<bot>% - 指定机器人是否在线
  • %miraimc_nick_<bot>% - 指定机器人昵称
  • %miraimc_friendcounts_<bot>% - 指定机器人好友数量
  • %miraimc_groupcounts_<bot>% - 指定机器人群数量
  • %miraimc_bindqq% - 当前玩家绑定的 QQ 号
  • %miraimc_bindqq_<player/uuid>% - 指定玩家绑定的 QQ 号
  • %miraimc_bindname_<qq>% - 指定 QQ 绑定的玩家 UUID
  • %miraimc_binduuid_<qq>% - 指定 QQ 绑定的玩家名

使用 MiraiMC 的插件


已知 Bug

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

  • 在非图形界面环境下登录带设备锁或验证码的账号时无法完成验证 (1.3 已修复)
  • 极少数情况可能出现插件载入、机器人登录问题 (1.3 已修复)
  • 在BungeeCord使用时无法使用自动登录机器人功能 (1.4、1.5 已修复)
  • BungeeCord和Sponge的自动登录机器人无法添加账号

兼容性报告

以下资源已确认不支持 MiraiMC。你可以点击这里查看更多信息。
  • Cauldron

下载
正式版:,测试版:
为帖子评分解锁下载地址支持我继续开发(评分人气不消耗自己的人气)

本帖使用下载地址回复可见功能,回复前请先点我阅读相关版规
如果你想不违反版规又想立刻下载到插件,你可以复制下面这段话直接回复避免违反版规
  1. MiraiMC 真棒,是一款很优秀的插件!
复制代码
游客,如果您要查看本帖隐藏内容请回复

开源


更多帮助&外部链接


致谢

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

下一步的目标

牙膏要一点一点挤,显卡要一刀一刀切,PPT要一张一张放,代码要一行一行写,单个功能预计自出现在此列表起,三年内开发完毕
  • [√] 初步实现 CoreAPI 的基础功能
  • [√] 初步完善指令和权限系统
  • [√] 初步完善 API 接口供其他插件开发者调用
  • [√] 加入自动登录机器人的功能(1.2实现)
  • [√] 添加剩余未添加的Mirai事件(1.2实现)
  • [√] 支持 BungeeCord(1.3实现)
  • [√] 重写登录流程以适应 Bukkit(和未来支持的 Bungee,甚至 Sponge)(1.3实现)
  • [√] 完全兼容 mirai console 的结构供已在使用mirai的服主使用
  • [√] 支持 Sponge(1.5实现)
  • [√] 支持 PlaceholderAPI(1.5实现)
  • [√] 引入 Mirai-Http-API 模式来连接到mirai-console(1.6实现)
  • [√] 支持 Velocity(1.6实现)
  • [  ] 像 mirai console 一样加载 mirai console 插件(遥遥无期,欢迎PR)


本插件所用代码部分来自其他开源或闭源(已授权)作品


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


评分

参与人数 48人气 +60 金粒 +139 收起 理由
1490295146 + 1 Ssssssssssssssssssss
益多菌 + 1 MCBBS有你更精彩~
hy3 + 1 MCBBS有你更精彩~
2503180246b + 2 MCBBS有你更精彩~
TS_Hope + 1 + 20 高呼666!
ASGORE_KING + 1 MCBBS有你更精彩~
神楽咕咕 + 1 MCBBS有你更精彩~
1446211844 + 1 MiraiMC 真棒,是一款很优秀的插件!.
fffzzl + 1 + 6 真的蛮好用的(除了多台服务器连接一个qq设.
111ly + 1 MiraiMC 真棒,是一款很优秀的插件!.
DKCJ丶成成 + 2 MCBBS有你更精彩~
leiandting + 1 + 5 高呼666!
ArmorRush + 2 资瓷一个
Silvigarabis + 1 Ssssssssssssssssssss
Wen.Terry + 1 高呼666!
enderdragon032 + 1 MCBBS有你更精彩~
NiXi_Wind + 1 MCBBS有你更精彩~
69cat + 1 MCBBS有你更精彩~
郑炜孙 + 2 + 5 高呼666!
福克斯· + 1 Ssssssssssssssssssss

查看全部评分

DreamVoid 当前离线
积分
8193
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2020-1-30
查看详细资料
 楼主| 发表于 2021-9-25 16:50:05 | 显示全部楼层
本帖最后由 DreamVoid 于 2021-12-18 18:57 编辑

我已关闭主题帖回复通知,如有意见建议请回复本楼,或者去 Github Issue Tracker 提出。
反馈插件无法使用请带上服务器日志去开 issue,否则我无法解决,也不会回复你。
回复

使用道具 举报

szzz666 当前离线
积分
86
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2019-8-9
查看详细资料
发表于 3 小时前 来自手机 | 显示全部楼层
支持pnx吗
回复

使用道具 举报

Mrxiaozhu 当前离线
积分
84
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2021-7-28
查看详细资料
发表于 昨天 21:08 | 显示全部楼层
牛的,哈哈哈支持!
回复

使用道具 举报

老笛罚 当前离线
积分
146
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2020-9-17
查看详细资料
发表于 昨天 21:04 | 显示全部楼层
很好的插件爱来自瓷器
回复

使用道具 举报

ndifferent 当前离线
积分
53
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2021-8-9
查看详细资料
发表于 昨天 19:09 | 显示全部楼层
MiraiMC 真棒,是一款很优秀的插件!
回复

使用道具 举报

FR丶 当前离线
积分
1504
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2016-9-1
查看详细资料
发表于 昨天 16:46 | 显示全部楼层
MiraiMC 真棒,是一款很优秀的插件!
回复

使用道具 举报

1965984121 当前离线
积分
313
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2018-6-2
查看详细资料
发表于 昨天 16:09 | 显示全部楼层
真别说,还挺方便
回复

使用道具 举报

你是人间盛世颜 当前离线
积分
111
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2020-8-4
查看详细资料
发表于 昨天 15:28 | 显示全部楼层
MiraiMC 真棒,是一款很优秀的插件!
回复

使用道具 举报

ShanZhe杉者 当前离线
积分
56
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2021-4-4
查看详细资料
发表于 昨天 13:08 | 显示全部楼层
MiraiMC 真棒,是一款很优秀的插件!
回复

使用道具 举报

q1030290917 当前离线
积分
756
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2016-5-15
查看详细资料
发表于 前天 23:39 | 显示全部楼层
Unexpected exception while parsing console command "mirai"
org.bukkit.command.CommandException: Cannot execute command 'mirai' in plugin MiraiMC v1.6.1 - plugin is disabled.
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37) ~[patched_1.16.5.jar:git-Paper-794]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:159) ~[patched_1.16.5.jar:git-Paper-794]
        at org.bukkit.craftbukkit.v1_16_R3.CraftServer.dispatchCommand(CraftServer.java:826) ~[patched_1.16.5.jar:git-Paper-794]
        at org.bukkit.craftbukkit.v1_16_R3.CraftServer.dispatchServerCommand(CraftServer.java:788) ~[patched_1.16.5.jar:git-Paper-794]
        at net.minecraft.server.v1_16_R3.DedicatedServer.handleCommandQueue(DedicatedServer.java:470) ~[patched_1.16.5.jar:git-Paper-794]
        at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:437) ~[patched_1.16.5.jar:git-Paper-794]
        at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1347) ~[patched_1.16.5.jar:git-Paper-794]
        at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1135) ~[patched_1.16.5.jar:git-Paper-794]
        at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:291) ~[patched_1.16.5.jar:git-Paper-794]
        at java.lang.Thread.run(Thread.java:834) [?:?]
回复

使用道具 举报

MC火山君 当前离线
积分
122
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2020-6-20
查看详细资料
发表于 前天 23:26 | 显示全部楼层
MCBBS有你更精彩~
回复

使用道具 举报

HEDT 当前离线
积分
1
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2021-9-30
查看详细资料
发表于 前天 23:25 | 显示全部楼层
优秀的插件,我很需要他
回复

使用道具 举报

饭桶游戏吖 当前离线
积分
994
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2020-4-29
查看详细资料
发表于 前天 23:21 | 显示全部楼层
可以的 刚好用得上 支持一下
回复

使用道具 举报

彭承宇1234567 当前离线
积分
96
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2021-2-10
查看详细资料
发表于 前天 22:24 | 显示全部楼层
MiraiMC 真棒,是一款很优秀的插件!
回复

使用道具 举报

允诺Ynl 当前离线
积分
21
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2021-8-27
查看详细资料
发表于 前天 19:44 | 显示全部楼层
MiraiMC 真棒,是一款很优秀的插件!
回复

使用道具 举报

qa811217 当前离线
积分
114
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2020-7-28
查看详细资料
发表于 前天 18:08 | 显示全部楼层
MiraiMC 真棒,是一款很优秀的插件!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 京公网安备 11010502037624号 | 手机版

GMT+8, 2022-6-27 10:46 , Processed in 0.088189 second(s), Total 35, Slave 34 queries, Release: Build.2022.05.30 1905, Gzip On, Redis On.

"Minecraft"以及"我的世界"为美国微软公司的商标 本站与微软公司没有从属关系

© 2010-2022 我的世界中文论坛 版权所有 本站内原创内容版权属于其原创作者,除作者或版规特别声明外未经许可不得转载

快速回复 返回顶部 返回列表