Evo.Yyc/郁冬
本帖最后由 Evo.Yyc/郁冬 于 2022-6-21 16:04 编辑
项目已开源:https://github.com/isYyc/QQConnect

2021.12 数据,可能有更多内容插件介绍:    简单易用的服务器互通机器人插件(当前版本 SNAPSHOT-2.1)    SHAPSHOT-2.1开发完毕,正式上线!    配置文件版本号: 1.7Version 消息文件版本号: 1.2Version    更新插件时,请注意备份旧配置,以防配置被覆盖导致丢失。
插件功能:
  • QQ群消息同步至服务器
  • 服务器消息同步至QQ群
  • 完全自定义的消息转发格式
  • 可在消息格式中使用的多种变量
  • 同步转发多个群聊的消息到服务器
  • 执行Console指令 (可配置可执行人员)
  • 查询服务器在线玩家
  • 玩家加入/离开服务器时群内提示
  • 绑定QQ到游戏账户
  • 群内查询玩家信息
  • 私聊机器人修改自己的密码
  • 群内查询服务器TPS

未来实现功能:
  • 暂定

插件配置:Config.yml

代码:

  1. Setup:
  2. # 机器人设置部分
  3. Bot:
  4.     # 账号
  5.     ID: 123456
  6.     # 密码
  7.     Password: "123456"

  8. # 启用转发的群聊
  9. Groups:
  10.     - 123456

  11. # 管理员QQ设置
  12. Admins:
  13.     - 123456

  14. Function:
  15. # QQ群消息 -> 服务器
  16. # 可用变量:
  17. # %senderid% (发送者QQ号)
  18. # %sendername% (发送者名称)
  19. # %groupid% (获取的群号)
  20. # %groupname% (群名称)
  21. # %message% (消息内容)
  22. QQtoServer:
  23.     # 是否启用
  24.     Enable: true
  25.     Format: "&7[&6%groupid%&7][&6%groupname%&7] &e%senderid% &7>> &e%message%"

  26. # 服务器消息 -> QQ群
  27. # 支持 PlaceHolderAPI 变量
  28. # 可用变量: %message% (消息内容)
  29. ServertoQQ:
  30.     # 是否启用
  31.     Enable: true
  32.     Format: "[%multiverse_world_alias%] %player_name% >> %message%"

  33. # 玩家加入服务器时通知
  34. # 支持 PlaceHolderAPI 变量
  35. JointoQQ:
  36.     # 是否启用
  37.     Enable: true
  38.     # 消息格式
  39.     Format: "玩家 %player_name% 加入了服务器。"

  40. # 玩家退出服务器时通知
  41. # 支持 PlaceHolderAPI 变量
  42. QuittoQQ:
  43.     # 是否启用
  44.     Enable: true
  45.     # 消息格式
  46.     Format: "玩家 %player_name% 离开了服务器。"

  47. # 玩家通过机器人修改密码功能
  48. # 可用变量: %player% (发送者QQ号所对应的玩家ID)、%new_password% (修改后的新密码)
  49. ChangePassword:
  50.     # 是否启用
  51.     Enable: true
  52.     # 修改密码指令格式
  53.     Command: "authme changepassword %player% %new_password%"
  54.     # 密码允许的字符类型
  55.     Regex: "[!-~]*"
  56.     # 密码允许的长度
  57.     PasswordLength: "5-15"

  58. # 玩家查询功能
  59. PlayerSearch:
  60.     # 是否启用
  61.     Enable: true

Message.yml

代码:

  1. #服务器内的提示
  2. Server:
  3. # QQ绑定成功游戏内提示 可用变量 %qqid% (所绑定的QQ号)
  4. QQBind: "&7你成功为你的账号绑定 &6%qqid%"

  5. # QQ绑定成功游戏内提示 可用变量 %new_qqid% (更改的QQ号)
  6. QQChangeBind: "&7你成功更改了账号绑定 &6%new_qqid%"

  7. # 绑定错误的qq号
  8. NoQQid: "&7请输入正确的QQ号"

  9. #QQ群的提示
  10. QQ:
  11. # 非Admin试图执行 #cmd 命令时的提示
  12. NoPerm: "你不是机器人所认定的管理员,无法执行这个命令。"

  13. # 非Admin试图执行 #cmd 命令时的提示
  14. SendCmd: "执行命令成功。"

  15. # QQ绑定成功群内提示 可用变量 %player% (玩家名字) %qqid% (所绑定的QQ号)
  16. QQBind: "玩家 %player% 成功绑定QQ %qqid%"

  17. # QQ绑定成功群内提示 可用变量 %new_qqid% (新的qq)
  18. QQChangeBind: "玩家 %player% 更改绑定QQ为 %qqid%"

  19. # ID与绑定QQ号不对应时的提示
  20. NoChangePerm: "你使用的QQ号,所对应的玩家ID与您提供的不符合。请核对的ID(大小写等信息)后再修改"

  21. # 修改密码时,没有绑定QQ的提示
  22. NoBind: "你从未绑定过任何QQ,无法获取到你的任何用户"

  23. # 更改密码成功的提示 可用变量 %new_newpassword% (新密码)
  24. ChangePassword: "你成功更改了密码,现在你的密码为 %new_password%"

  25. # 密码非法时的报错
  26. PasswordError: "密码不合法,长度控制在5~15以内,请避免使用全角符号(中文符号)"

  27. # 配置文件版本,别动他!
  28. Version: 1.2



插件指令:
命令
说明
使用场景 / 权限
#执行命令 [命令]
向服务器发送一条命令(不带/)
群聊内、私聊内 / Admins
#在线玩家
列出服务器所有在线玩家
群聊内 / 所有人
#更改密码 [玩家ID] [新密码]
更改密码
私聊内 / 所有人
/qqc reload
重载所有配置
后台、游戏内 / OP
/qqc bind [QQ号]
绑定QQ/更改绑定QQ
游戏内 / 所有人
#机器人帮助
获取机器人群内帮助
群内 / 所有人
/qqc
获取机器人帮助
游戏内 / 所有人
#玩家信息 [玩家名字]
查询玩家基本信息
群聊内、私聊内 / Admins
#tps
查询服务器tps
群聊内 / 所有人

效果截图:(多图警告)



插件下载:
   QQConnect插件下载地址:
   前置原帖:https://www.mcbbs.net/thread-1207462-1-1.html   前置备用下载地址:https://pan.baidu.com/s/1Hu3mjuiCTgD7-bSV76n_8A密码: i05d
   尊重 MiraiMC 原作者,如果可以请前往原帖下载。


常见问题:   Q1: 机器人登入失败问题 —— 无限要求验证码的情况
   A: 请参照 https://mirai.mamoe.net/topic/223/无法登录的临时处理方案/  你需要先下载mirai安卓版的app,并在app上完成所有验证成功登入后,导出你的device.json文件  并将它放进服务器 plugins/miraimc/miraibot/bots/对应机器人QQ号/ 的文件夹内,覆盖原本的device.json,并重启你的服务器即可。   Q2: 支持那些核心,版本。
   A: 目前测试结果为,1.7.2以上版本均可运行(即1.7.x-1.17.1),CatServer/Mohist/Arclight/Spigot/CraftBukkit/Paper及其分支均支持。 不支持KC以及KC的所有分支。


更新日志:
  • 增加玩家QQ号绑定功能 (SNAPSHOT-1.5更新)
  • 增加玩家QQ号绑定修改功能 (SNAPSHOT-1.5更新)
  • 增加玩家私聊机器人修改个人密码 (兼容大部分登入插件) (SNAPSHOT-1.5更新)
  • 增加更多配置自定义,可自由关闭消息转发。 (SNAPSHOT-1.5更新)
  • 增加关键词黑名单,特定关键词的消息不进行转发。(SNAPSHOT-1.5更新)
  • 增加对PAPI变量的支持。(SNAPSHOT-1.5更新)
  • 修复%sender_name%变量无法显示问题。(SNAPSHOT-1.6更新)
  • 修复QQ绑定,QQ判定问题。(SNAPSHOT-1.6更新)
  • 增加“/qqc”指令游戏内帮助信息。(SNAPSHOT-1.6更新)
  • 增加“#机器人帮助”指令群内帮助信息。(SNAPSHOT-1.6更新)
  • 修复部分核心(如:Paper)在异步执行指令时报错问题。(SNAPSHOT-1.8更新)
  • 增加命令执行后的异步回调,确保核心的兼容问题。(SNAPSHOT-1.8更新)
  • 增加群内玩家查询功能。(SNAPSHOT-2.0更新)
  • 增加 #tps 群内查询tps功能。(SNAPSHOT-2.0更新)
  • 新增密码长度和特定字符限制。(SNAPSHOT-2.0更新)
  • 修复密码修改字符限制正则表达式出错。(SNAPSHOT-2.0更新)
  • 更新是否允许所有人查询玩家信息的开关。(SNAPSHOT-2.1更新)

最后的话:
   如果觉得插件不错的话,就给个评分吧,求求了!
   


大病初愈的小安
感谢 非常好用!

e_mirai
突然才想起来可以直接在插件中启动一个mirai。。。之前还想了半天怎么在没有端口的情况下和mirai通信,惊了

奥力給
不错的插件!
希望可以在1.5添加用QQ验证码方式登录!
(1.5的时候记得踢我一脚)

ObcbO
绑定功能的话,建议加一个设置一个QQ可以绑定多少ID

men62466293
支持群组服么qwq

Evo.Yyc/郁冬

暂不支持

xique233
1.7.10 u端加载登陆时报错
19:31:50 WARN]: org.apache.commons.lang.UnhandledException: Plugin MiraiMC v1.1 generated an exception while executing task 2255
        at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.LinkageError: loader constraint violation: when resolving method "me.dreamvoid.miraimc.api.MiraiBot.doBotLogin(JLjava/lang/String;Lnet/mamoe/mirai/utils/BotConfiguration$MiraiProtocol;)V" the class loader (instance of org/bukkit/plugin/java/PluginClassLoader) of the current class, me/dreamvoid/miraimc/bukkit/CommandHandler$1, and the class loader (instance of org/bukkit/plugin/java/PluginClassLoader) for the method's defining class, me/dreamvoid/miraimc/api/MiraiBot, have different Class objects for the type net/mamoe/mirai/utils/BotConfiguration$MiraiProtocol used in the signature
        at me.dreamvoid.miraimc.bukkit.CommandHandler$1.run(CommandHandler.java:53)
        at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask.run(CraftTask.java:71)
        at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
        ... 3 more

Evo.Yyc/郁冬
xique233 发表于 2021-8-10 19:34
1.7.10 u端加载登陆时报错
19:31:50 WARN]: org.apache.commons.lang.UnhandledException: Plugin MiraiMC  ...

前置MiraiMC可能不兼容KC核心已经KC核心的其他分支。

q3135579242
机器人插件,不错很好用

164ebr
希望更加稳定

164ebr
给个建议,如果是执行后台指令,建议用私聊机器人的方式,在群里发送一些指令不太好

xique233
Evo.Yyc/郁冬 发表于 2021-8-10 21:02
前置MiraiMC可能不兼容KC核心已经KC核心的其他分支。

嗷嗷 那好吧谢谢

Evo.Yyc/郁冬
164ebr 发表于 2021-8-11 00:38
给个建议,如果是执行后台指令,建议用私聊机器人的方式,在群里发送一些指令不太好 ...

下一个构造更新

亮子哟
MCBBS有你更精彩

亮子哟
MCBBS有你更精彩

star魅影
[19:40:08 ERROR]: Could not pass event PlayerJoinEvent to QQconnect v1.2-SNAPSHOT
java.util.NoSuchElementException: group 630603890
        at net.mamoe.mirai.Bot.getGroupOrFail(Bot.kt:152) ~[?:?]
        at me.dreamvoid.miraimc.api.MiraiBot.sendGroupMessage(MiraiBot.java:110) ~[?:?]
        at org.yycstudio.qqconnect.mcEvent.onJoin(mcEvent.java:62) ~[?:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor476.execute(Unknown Source) ~[?:?]
        at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.2.jar:git-Paper-189]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.16.2.jar:git-Paper-189]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.2.jar:git-Paper-189]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.16.2.jar:git-Paper-189]
        at net.minecraft.server.v1_16_R2.PlayerList.postChunkLoadJoin(PlayerList.java:273) ~[patched_1.16.2.jar:git-Paper-189]
        at net.minecraft.server.v1_16_R2.PlayerList.lambda$null$1(PlayerList.java:220) ~[patched_1.16.2.jar:git-Paper-189]
        at net.minecraft.server.v1_16_R2.PlayerConnection.tick(PlayerConnection.java:154) ~[patched_1.16.2.jar:git-Paper-189]
        at net.minecraft.server.v1_16_R2.NetworkManager.a(NetworkManager.java:385) ~[patched_1.16.2.jar:git-Paper-189]
        at net.minecraft.server.v1_16_R2.ServerConnection.c(ServerConnection.java:145) ~[patched_1.16.2.jar:git-Paper-189]
        at net.minecraft.server.v1_16_R2.MinecraftServer.b(MinecraftServer.java:1383) ~[patched_1.16.2.jar:git-Paper-189]
        at net.minecraft.server.v1_16_R2.DedicatedServer.b(DedicatedServer.java:375) ~[patched_1.16.2.jar:git-Paper-189]
        at net.minecraft.server.v1_16_R2.MinecraftServer.a(MinecraftServer.java:1211) ~[patched_1.16.2.jar:git-Paper-189]
        at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:999) ~[patched_1.16.2.jar:git-Paper-189]
        at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$a$0(MinecraftServer.java:177) ~[patched_1.16.2.jar:git-Paper-189]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_261]
这个是无法链接群吗?

Evo.Yyc/郁冬
star魅影 发表于 2021-8-12 19:44
[19:40:08 ERROR]: Could not pass event PlayerJoinEvent to QQconnect v1.2-SNAPSHOT
java.util.NoSuchEl ...

群号配置有误。

star魅影

群号确定无误qwq

Evo.Yyc/郁冬

提供一下配置文件

xinghen666

我是发帖人的小号
配置文件:
# 机器人配置
Bot:
  # 机器人账号
  ID: 112087952
  # 机器人密码
  Password: "~~~~"

# 群聊配置,开启消息转发的群聊
enableGroups:
  - 630603890

# 管理员QQ,用于执行管理员命令
Admins:
  - 1763751611

# 聊天格式
MessageFormat:
  # 将服务器内消息转发到群内的格式
  # 可用变量: %player% (玩家ID)、%world% (玩家所在世界)、%health% (生命值)、%message% (消息内容)
  QQGroup: "[%world%] %player%<%health%> >> %message%"
  # 将群内消息转发到服务器内的格式
  # 可用变量: %senderid% (发送者QQ号)、%groupid% (群号)、%message% (消息内容)
  #          %sendername% (发送者名称)、%groupname% (群名称)
  Server: "&7[&6%groupid%&7][&6%groupname%&7] &e%senderid% &7>> &e%message%"
  #玩家加入服务器格式
  # 可用变量: %player% (玩家ID)、%world% (玩家下线世界)
  Join: "玩家 %player% 加入了服务器。"
  #玩家推出服务器格式
  # 可用变量: %player% (玩家ID)、%world% (玩家上线世界)
  Quit: "玩家 %player% 离开了服务器。"

Evo.Yyc/郁冬
xinghen666 发表于 2021-8-13 22:28
我是发帖人的小号
配置文件:
# 机器人配置

机器人在这个群聊内吗

瑚娃万岁
才看到xiaomingminecraft就看到了你

熄灭星空
也是不错的一个机器人插件吧

xinghen666
Evo.Yyc/郁冬 发表于 2021-8-13 22:56
机器人在这个群聊内吗

在群里的         

Evo.Yyc/郁冬

服务器版本 核心给一下

熊可狸
MCBBS 有你更精彩!!!!

mineplexopet
6666666666666666666666666666

xinghen666
Evo.Yyc/郁冬 发表于 2021-8-14 09:37
服务器版本 核心给一下

paper 1.16

Evo.Yyc/郁冬

我用paper1.16测试过 没问题呀奇怪了 更新一下核心?

cdc123456789
一个很不错的插件,支持一下(不知道作者用的框架是mirai?)

iseea
期待作者更新

Evo.Yyc/郁冬
cdc123456789 发表于 2021-8-14 13:14
一个很不错的插件,支持一下(不知道作者用的框架是mirai?)

是的mirai

Hope丶墨轩

感谢 非常好用!

hfkasf
很棒,这个插件真好用

HHIIMM666
66666666666666666666666666

0303
看起来好高端的样子

13292136010
非常喜欢已经下载

22538
好东西啊哇

zisuhuazun
感谢,刚好需要这个

Extremely_white
爱了qwqqwqqwq

调皮菌大大

感谢 非常好用!

小果23333
感谢分享!

LEZHI_Tang
希望能用吧

woll哒
支持一波。。。

雪狸不吃梨
很喜欢这类互通消息的插件

singo1119
感谢LZ分享

FanJang酱
感谢大佬的分享!

MineADV
不错的插件~~~

SakuranaRanbom
支持一下,看看什么机器人

下一页 最后一页