Ljzd-PRO / nonebot-plugin-mystool

QQ聊天、频道机器人插件 | 米游社工具-每日米游币任务、游戏签到、商品兑换、免抓包登录、原神崩铁便笺提醒
https://pypi.org/project/nonebot-plugin-mystool
MIT License
406 stars 48 forks source link

【功能建议】是否考虑在群里推送消息时艾特指令发送的人 #314

Open mengluo04 opened 2 months ago

mengluo04 commented 2 months ago

消息多了都不知道是回复的谁的消息,要看自己的米游社ID来判断

dontdot commented 2 months ago

手动触发的消息可以去改成这样matcher.send(msg, at_sender=True)

dontdot commented 1 month ago

消息多了都不知道是回复的谁的消息,要看自己的米游社ID来判断

今天我朋友在群上也说签到消息太多了,我就试了下在群聊中手动进行游戏签到的,推送合并消息,本体是源仓库的最新版本,用链接里的plan.py来替换相对应的文件

mengluo04 commented 1 month ago

消息多了都不知道是回复的谁的消息,要看自己的米游社ID来判断

今天我朋友在群上也说签到消息太多了,我就试了下在群聊中手动进行游戏签到的,推送合并消息,本体是源仓库的最新版本,用链接里的plan.py来替换相对应的文件

好的,我还是用的at_sender,多谢提供解决方案

mengluo04 commented 1 month ago

消息多了都不知道是回复的谁的消息,要看自己的米游社ID来判断

今天我朋友在群上也说签到消息太多了,我就试了下在群聊中手动进行游戏签到的,推送合并消息,本体是源仓库的最新版本,用链接里的plan.py来替换相对应的文件

请问又遇到过at报错的情况吗,用OPenShamrock可以正常发送at,用Lagrange报下面这个错,是Lagrange的问题吗 image

dontdot commented 1 month ago

偶尔出错还是一直没成功

mengluo04 commented 1 month ago

偶尔出错还是一直没成功

试了几次都是这样,直接就在这中断了,后面的代码也没执行

dontdot commented 1 month ago

可能是Lagrange的发送消息的api不一样 https://github.com/dontdot/nonebot-plugin-mystool/blob/1dbe012d48f02dfc8d8ff845b861931a4256366a/src/nonebot_plugin_mystool/command/plan.py#L353 这个注释掉,看下下一行的api能不能用,不行的话就是Lagrange使用的api不适配了

mengluo04 commented 1 month ago

可能是Lagrange的发送消息的api不一样 https://github.com/dontdot/nonebot-plugin-mystool/blob/1dbe012d48f02dfc8d8ff845b861931a4256366a/src/nonebot_plugin_mystool/command/plan.py#L353 这个注释掉,看下下一行的api能不能用,不行的话就是Lagrange使用的api不适配了

现在就是注释了at消息那个就正常了,用的Lagrange.OneBot,看了支持onebot的标准接口,还有一些扩展接口

dontdot commented 1 month ago

我看了下Lagrange的群聊接口,他是先构建阶段分私聊和群聊的,再通过统一的发送接口发送,所以Lagrange在at这个不适配 OPenShamrock倒是跟nonebot-onebotv11的一样有send_group_msg接口

mengluo04 commented 1 month ago

我看了下Lagrange的群聊接口,他是先构建阶段分私聊和群聊的,再通过统一的发送接口发送,所以Lagrange在at这个不适配 OPenShamrock倒是跟nonebot-onebotv11的一样有send_group_msg接口

先用at_sender来发送at消息吧

mengluo04 commented 1 month ago

我看了下Lagrange的群聊接口,他是先构建阶段分私聊和群聊的,再通过统一的发送接口发送,所以Lagrange在at这个不适配 OPenShamrock倒是跟nonebot-onebotv11的一样有send_group_msg接口

问了lgr那边,解决了,onebot的at的qq号要str,传的是int,不知道是不是llonebot和OPenShamrock自己处理了

dontdot commented 1 month ago

Lagrange那边只要qq传入str类型就能使用是吗

mengluo04 commented 1 month ago

Lagrange那边只要qq传入str类型就能使用是吗

是的,传str类型就行,测试没问题 await bot.call_api("send_group_msg", group_id=event.group_id, message={"type": "at","data": {"qq": str(event.user_id)}})

dontdot commented 1 month ago

我fork的仓库dev分支更新了米游社任务的群聊合并消息,另外plan里有些代码关于消息的结构也做了调整,看对你有没有帮助