xsling
本帖最后由 xsling 于 2022-5-12 03:40 编辑



Phenyl✨
开箱即用的消息转发桥!

🦀Features:
  • 同步模式下自动获取群名片或昵称进行消息转发
  • 游戏账号与QQ账号双向绑定,自动更新用户名
  • 直接调用Mirai-Core开发,无需插件/Mirai-Http前置
  • SQLite/MySQL/PostgreSQL支持
  • 链接、小程序消息、卡片、图片消息解析
  • 游戏内发送图片至QQ
  • 以图片格式转发聊天
  • 完全可定制的提示消息与多语言支持
  • 开箱即用,同时高度可配置


解析多种类消息,游戏内便捷访问



游戏内直接发送图片至QQ群



方便地进行绑定与更新


以图片发送提醒与转发消息


指令查询服务器信息



完全可配置的消息格式
📥如何使用:
Phenyl直接调用Mirai库开发,无需任何前置插件Mirai-Http实现。将Phenyl丢进plugins文件夹并启动,然后修改Phenyl文件夹内的config.yml,再执行/phenyl reload即可。
Phenyl的所有配置选项都配有详细的注释。一般来说,你在初次启动时只需要更改Mirai/Bungeecord Configuration中的选项
如果你不想由Phenyl来自动下载所需要的依赖,可以下载Github Release中的libs.zip文件,并将其中包含的所有文件解压至Phenyl/libs文件夹下。

自定义:
Phenyl的所有提示消息都从资源文件加载,这意味着你可以自由地修改其中的任何一句。使用任一解压缩软件打开Phenyl-x.x.x.jar文件,编辑messages_xxYY.properties文件,并在config.yml中将locale设置为xxYY即可

🎙️指令与权限:
你可以直接在Bungeecordconfig.yml添加权限,也可以使用如Luckperms的插件进行权限管理。
  1. ```以下指令需要phenyl.use.*权限节点```
  2.   /phenyl bind <QQ号> - 进行QQ绑定。
  3.   /phenyl verify <验证码> - 对从QQ发起的绑定请求进行验证。
  4.   /phenyl say <消息> - 如果Phenyl处于Command模式,你需要使用此指令来将消息发送到QQ。
  5.   /phenyl nomessage  - 是否启用消息转发。
  6.   /phenyl at <用户名>  - 在群聊中@该Minecraft玩家所对应的QQ账号。
  7. ```以下指令需要phenyl.admin.*权限节点```
  8.   /phenyl mute <用户名> - 禁言某人,则他的游戏内消息不会被转发到QQ。
  9.   /phenyl reload - 重新加载Phenyl。
  10.   /phenyl login - 登录QQ账号。
  11.   /phenyl logout - 注销QQ账号。
复制代码
如果使用Luckperms,直接给予phenyl.use.*或phenyl.admin.*权限即可;如果手动更改config.yml,可以仿照下例:
  1.   default:
  2.     - phenyl.use.bind
  3.     - phenyl.use.verify
  4.     - phenyl.use.say
  5.     - phenyl.use.nomessage
  6.     - phenyl.use.at
  7.   admin:
  8.     - phenyl.admin.mute
  9.     - phenyl.admin.reload
  10.     - phenyl.admin.login
  11.     - phenyl.admin.logout
复制代码
⚙️运行时:
Phenyl基于JDK17开发,使用部分高版本Java特性,要求在用Java 17运行的Bungeecord中加载。如果你的JRE低于17,请考虑下载新版本
由于Phenyl运行于Bungeecord,故对游戏服务端本身并无版本要求,只要Bungeecord可以正常代理游戏即可使用目前在Watferfall #475 + Paper 1.8.8测试通过。

同时,Phenyl基于AGPL-3.0协议开源。这意味着你完全可以在保留许可信息与开源的前提下自由进行分叉与二次开发。如果你对开发并维护一个兼容旧版Java的Phenyl分支感兴趣,我们很乐意提供必要的帮助。但是请注意,对于任何非官方版本的分叉,原作者没有义务也不会提供任何支持,所有针对非官方版本提出的issue将被直接关闭。

👂获取支持:
为便于追踪与管理,所有Bug report/Feature request都请在Githubt新建Issue提出。

🔧配置文件:


🤔常见问题:
- 滑动验证码如何使用?
    对于大部分用户来说,目前最简便的使用方式是下载mzdluo123/TxCaptchaHelper进行验证。填入Phenyl给你的验证链接并完成验证,它会自动提取ticket。
使用浏览器开发人员工具进行获取同样可行,你可以参考:https://docs.mirai.mamoe.net/mirai-login-solver-selenium/
- 为什么获取不到头像/头像为什么是Alex?
    如果你没有修改过配置文件中的crafatar_urlPhenyl将默认从crafatar.com获取头像。请尝试在该网站输入玩家的uuid检查是否能正常获取到头像。
排查头像相关的问题时可以注意以下工作流程:

1.
Phenyl会在每个玩家登录时自动开始获取头像,并保存在storage/{$uuid}目录下,如果获取时出现网络问题,消息中的头像处应该直接为空;

2.出现了Alex头像即说明
Phenyl已成功从Crafatar获取到了头像,且对方返回的头像即Alex。Crafatar本身使用Redis进行缓存,如果玩家才更换过皮肤可能需要一点时间生效;

3.如果
Crafatar上的头像已经正常,一般来说只要玩家退出并重新加入游戏Phenyl就会自动更新。
- 提示当前版本过低,请升级到QQ最新版本。怎么办?
    出现此消息多是因为验证码错误次数太多或账号/密码错误。请检查你的账号与密码并:
1.删除Phenyl/mirai文件夹后重试;
2.更改登录协议后重试;
3.更换网络环境后重试。

📚版权信息:
Phenyl使用AGPL-3.0协议开源。这意味着你可以:
  • 任意地运行、复制——在保留许可与版权信息的情况下——分发Phenyl。对于一般的转载,保留开源协议声明及其开源仓库地址即可;
  • 任意地分叉、修改、引用Phenyl的源码并进行二次开发,但是新增与修改后的代码必须以同样的协议开源。
你不被许可的是:
  • 闭源分发或闭源商用Phenyl及Phenyl的衍生代码;
  • 修改Phenyl及其衍生代码的开源协议。
Phenyl-1.1.12-bungee.jar (324.58 KB, 下载次数: 37)
本插件所用代码部分来自其他开源作品
祝用得开心🙋



Syrilo
虽然这类插件不少了 但是这个玩家信息变成图片我爱了

WekyJay
可惜只支持高版本啊

奥力給
希望可以支持更低一点的版本(如1.8)

kpxyyyy
bungeecord最新版无法载入插件
17:01:58 [警告] Error loading plugin Phenyl
java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
    at net.md_5.bungee.api.plugin.PluginManager.enablePlugin(PluginManager.java:341)
    at net.md_5.bungee.api.plugin.PluginManager.loadPlugins(PluginManager.java:250)
    at net.md_5.bungee.BungeeCord.start(BungeeCord.java:271)
    at net.md_5.bungee.BungeeCordLauncher.main(BungeeCordLauncher.java:67)
    at net.md_5.bungee.Bootstrap.main(Bootstrap.java:15)
Caused by: java.lang.NoClassDefFoundError: org/apache/logging/log4j/LogManager
    at live.turna.phenyl.Phenyl.<init>(Phenyl.java:23)
    ... 10 more
Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.LogManager
    at net.md_5.bungee.api.plugin.PluginClassloader.loadClass0(PluginClassloader.java:103)
    at net.md_5.bungee.api.plugin.PluginClassloader.loadClass(PluginClassloader.java:59)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
    ... 11 more

419942604
有图片显示不错啊

xsling
本帖最后由 xsling 于 2022-1-23 02:40 编辑
WekyJay 发表于 2022-1-21 10:16
可惜只支持高版本啊

对于低版本MC服务端,可以考虑在最外层套一个Bungeecord/Waterfall来进行代理。Phenyl在设计和测试时均以高版本群组服为基准,使用更旧版本的代理不仅没必要(代理版本不必然挂钩Minecraft服务端版本),而且可能会引入更多性能和安全问题,所以不考虑特意进行向后兼容。

xsling
kpxyyyy 发表于 2022-1-21 17:03
bungeecord最新版无法载入插件
17:01:58 [警告] Error loading plugin Phenyl
java.lang.reflect.Invocatio ...

已在Release v1.1.5中修复。

xsling
奥力給 发表于 2022-1-21 10:37
希望可以支持更低一点的版本(如1.8)


Paper 1.8.8 + Waterfall #475测试可用。

JuXeon
本帖最后由 JuXeon 于 2022-1-25 14:33 编辑

BC端报错:ERROR MiraiNetwork - Exception in decoding packet.  【已单独下载解压lib】

xsling
JuXeon 发表于 2022-1-25 13:58
BC端报错:ERROR MiraiNetwork - Exception in decoding packet.  【已单独下载解压lib】

QQ账号是否正常登录?如果能正常使用则可以忽视。另外可以尝试在配置文件中更改协议。

南方大陆
这是把服务器和qq同步起来??吗

JuXeon
xsling 发表于 2022-1-25 16:02
QQ账号是否正常登录?如果能正常使用则可以忽视。另外可以尝试在配置文件中更改协议。 ...

1.报这个错误的时候服务器是无法输入任何指令的
2.有这个错误时服务器无法登录,始终处于连接超时
3.QQ登录提示QQ版本过低,让升级QQ[我用的也是最新QQ]

xsling
本帖最后由 xsling 于 2022-1-28 01:39 编辑
JuXeon 发表于 2022-1-25 18:11
1.报这个错误的时候服务器是无法输入任何指令的
2.有这个错误时服务器无法登录,始终处于连接超时
3.QQ登 ...

出现该消息大概率是因为你的账号和设备被腾讯风控。请在删除插件文件夹内的mirai目录后尝试
1.为QQ开启设备锁后重试;
2.更换登录协议重试;
3.更换IP和账号重试。

小珂不要太无聊
xsling 发表于 2022-1-25 21:31
出现该消息大概率是因为你的账号和设备被腾讯风控。请尝试
1.为QQ开启设备锁后重试;
2.更换登录协议重试 ...

出现腾讯风控的这种情况,不能就把它做得像miraimc那种手动滑动验证码然后输ticket登陆吗?我记得应该是这种方法虽然是麻烦了点,但至少不会被风控,毕竟我已经被**腾讯冻了两个小号了

xsling
本帖最后由 xsling 于 2022-1-27 12:41 编辑
小珂不要太无聊 发表于 2022-1-27 11:51
出现腾讯风控的这种情况,不能就把它做得像miraimc那种手动滑动验证码然后输ticket登陆吗?我记得应该是 ...

我是考虑滑动验证码的使用方式太复杂,而且Phenyl这边验证也就首次登陆的时候要用,不像MiraiMC存在登录多个QQ的需求,可能没有直接拿设备锁验证易于使用😆如果真的需要滑动验证码验证的话,我也可以把滑动验证的验证器加上。

小珂不要太无聊
xsling 发表于 2022-1-27 12:28
我是考虑滑动验证码的使用方式太复杂,而且Phenyl这边验证也就首次登陆的时候要用,不像MiraiMC存在登录多 ...

感谢awa,希望在下一个版本把滑动验证加上(风控这玩意真太麻烦了XD),还有就是可以放上一个滑动验证码获取ticket的方法,这样会对新手友好一点

辛苦作者大大了

小珂不要太无聊
用户头像无法获取是怎么回事呢?
QQ群里转发的图片一直是Alex的头像(用户是正版账号)

xsling
本帖最后由 xsling 于 2022-1-27 20:21 编辑
小珂不要太无聊 发表于 2022-1-27 15:02
用户头像无法获取是怎么回事呢?
QQ群里转发的图片一直是Alex的头像(用户是正版账号) ...

如果你没有修改过配置文件里的crafatar_url的话,Phenyl默认是从https://crafatar.com/获取头像的,请尝试在该网站输入该玩家的uuid查看是否能正常获取到头像。
排查头像相关的问题时可以注意以下工作流程:

1.Phenyl会在每个玩家登录时自动开始获取头像,并保存在storage/{$uuid}目录下,如果获取时出现网络问题,消息中的头像处应该直接为空;

2.出现了Alex头像即说明Phenyl已成功从Crafatar获取到了头像,且对方返回的头像即Alex。Crafatar本身使用Redis进行缓存,如果玩家才更换过皮肤可能需要一点时间生效;

3.如果Crafatar上的头像已经正常,一般来说只要玩家退出并重新加入游戏Phenyl就会自动更新。






南京扛把子
Main - &4Log-in attempt failed! Error(bot=Bot(*****), code=235, title=温馨提示, message=当前版本过低,请升级到QQ最新版本。, errorInfo=)

xsling
小珂不要太无聊 发表于 2022-1-27 12:56
感谢awa,希望在下一个版本把滑动验证加上(风控这玩意真太麻烦了XD),还有就是可以放上一个滑动验证码 ...

Phenyl v1.1.6现已支持滑动验证。

xsling
南京扛把子 发表于 2022-1-30 03:58
Main - &4Log-in attempt failed! Error(bot=Bot(*****), code=235, title=温馨提示, message=当前版本过低 ...

已改进登录验证逻辑,请下载最新版Phenyl重试。

小珂不要太无聊
太感谢啦,作者真的特别用心接受建议,插件也特别实用!

ObcbO
本帖最后由 ObcbO 于 2022-2-11 20:54 编辑

配置文件建议折叠这样观感更好
还有建议添加在服务器里和QQ群里加上特定前缀就可以消息转发的功能

xsling
ObcbO 发表于 2022-2-11 20:46
配置文件建议折叠这样观感更好
还有建议添加在服务器里和QQ群里加上特定前缀就可以消息转发的功能 ...

请设置转发模式为`command`。

ObcbO
xsling 发表于 2022-2-11 21:13
请设置转发模式为`command`。

哦谢谢 没仔细看配置

天基无情
还不错,感谢分享

PixelAB
使用这个导致我的QQ号给封了。。。用手机验证解封后好像说如果多次违规会被永久封号不知道是不是真的
于是开了个小号结果验证的时候需要滑动验证码 帮助页面看的我头晕 非常麻烦
https://docs.mirai.mamoe.net/mirai-login-solver-selenium/

xsling
本帖最后由 xsling 于 2022-2-13 15:10 编辑
PixelAB 发表于 2022-2-13 00:16
使用这个导致我的QQ号给封了。。。用手机验证解封后好像说如果多次违规会被永久封号不知道是不是真的
于是 ...

TurnALive已经稳定使用Phenyl一个月,至今总消息量在十五万条左右,封号的情况暂未遇见过,正常使用应该不会有什么问题,如有必要的话可以提供更多信息以供排查;

滑动验证码目前对于大部分用户来说最简便的方式即是教程中的方法一:下载mzdluo123/TxCaptchaHelper进行验证。
输入验证链接完成后即会自动获取ticket,效果图:


PixelAB
xsling 发表于 2022-2-13 15:07
TurnALive已经稳定使用Phenyl一个月,至今总消息量在十五万条左右,封号的情况暂未遇见过,正常使用应该不 ...

当时没有保留截图 就是提示这个

[02-12 21:16:09] INFO  Main - 已连接到 MySQL 数据库
[02-12 21:16:09] INFO  Main - 正在登录...
[02-12 21:16:09] INFO  Mirai - Loaded account secrets from local cache.
[02-12 21:16:10] INFO  Mirai - Loaded account secrets from local cache.
[02-12 21:16:10] ERROR Main - &4登录失败!Error(bot=Bot(2046612619), code=40, title=安全提醒, message=该帐号因使用非官方QQ客户端被暂时冻结,请点击下方按钮了解详情及处理。, errorInfo= )
[02-12 21:16:10] INFO  Mirai - Bot cancelled: Bot closed

PixelAB
另外问一下未来有计划更新白名单验证吗
最好是支持玩家在Q群内申请白名单 + 解绑白名单 解绑白名单 解绑白名单的
能支持管理员在群里用#指令修改/查看玩家白名单信息就更好了

PixelAB
环境准备那部分看的不是太懂 原网页排版好像有问题
在 运行时中添加 JVM 属性 (添加参数 ) 以确认手动完成滑动验证miraimirai.slider.captcha.supported-Dmirai.slider.captcha.supported

对于 , 请使用任意一款文本编辑器打开 /, 在 命令中的 前加入参数mirai-console-loadermclmcl.batjava ..... -jar ....-jar-Dmirai.slider.captcha.supported

java ..... -Dmirai.slider.captcha.supported -jar ....

注:

如果运行于 , 需要在 内删除 插件mirai-consolepluginsmirai-login-solver-selenium
如果直接基于 开发, 需要删除 依赖mirai-coremirai-login-solver-selenium


排版是这样显示的

第一页 上一页 下一页 最后一页