ziru-w / nonebot_plugin_addFriend

一个基于NoneBot2的插件,用于处理被请求加QQ好友和QQ群的请求A plugin based on NoneBot2 to process QQ friends and QQ group join requests
MIT License
22 stars 1 forks source link

能否对接一下shamrock呢 #10

Closed aknyzsd closed 2 months ago

aknyzsd commented 9 months ago

gocq基本暴毙了,现在正在尝试用shamrock,shamrock虽然写了说有加好友/群的接口但是接口貌似并不兼容qwq

ziru-w commented 9 months ago

你可以学一下写一写,加油 image 说起来我还用着qsign和gocq,版本.88

aknyzsd commented 9 months ago

你可以学一下写一写,加油 image 说起来我还用着qsign和gocq,版本.88

好像不是接口不兼容,而是服务端和主机不能直接通讯,好像需要转码

aknyzsd commented 9 months ago

你可以学一下写一写,加油 image 说起来我还用着qsign和gocq,版本.88

.88版本数据大了就会崩溃(例如图片语音或者视频) 看不明白了插件显示running complete,但是shamrock端没有响应日志如果接口不互通为何nb端可以收到信息呢qwqScreenshot_20240102_232541_com.wujie.connect.jpgScreenshot_20240102_232518_com.wujie.connect.jpg

ziru-w commented 9 months ago

不知道啊,我没接触过shamrock,我还是崩溃了就重启,这两天准备写一个自动检测重启,然后就这样得过且过

---原始邮件--- 发件人: @.> 发送时间: 2024年1月2日(周二) 晚上11:31 收件人: @.>; 抄送: @.**@.>; 主题: Re: [ziru-w/nonebot_plugin_addFriend] 能否对接一下shamrock呢 (Issue #10)

你可以学一下写一写,加油 image.png (view on web) 说起来我还用着qsign和gocq,版本.88

.88版本数据大了就会崩溃(例如图片语音或者视频) 看不明白了插件显示running complete,但是shamrock端没有响应日志如果接口不互通为何nb端可以收到信息呢qwqScreenshot_20240102_232541_com.wujie.connect.jpg (view on web)Screenshot_20240102_232518_com.wujie.connect.jpg (view on web)

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

aknyzsd commented 9 months ago

不知道啊,我没接触过shamrock,我还是崩溃了就重启,这两天准备写一个自动检测重启,然后就这样得过且过

---原始邮件--- 发件人: @.> 发送时间: 2024年1月2日(周二) 晚上11:31 收件人: @.>; 抄送: @.**@.>; 主题: Re: [ziru-w/nonebot_plugin_addFriend] 能否对接一下shamrock呢 (Issue #10)

你可以学一下写一写,加油 image.png (view on web) 说起来我还用着qsign和gocq,版本.88

.88版本数据大了就会崩溃(例如图片语音或者视频) 看不明白了插件显示running complete,但是shamrock端没有响应日志如果接口不互通为何nb端可以收到信息呢qwqScreenshot_20240102_232541_com.wujie.connect.jpg (view on web)Screenshot_20240102_232518_com.wujie.connect.jpg (view on web)

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

加油吧佬 要是gocq能得过且过能不能也让我抄抄(doge) 我是gocq实在过不下去了才转的shamrock

aknyzsd commented 9 months ago

佬能不能救一下,做不明白了,根据shamrock的文档上写的,应该是可以和gocq无痛迁移的,接口完全一样但是并然,我在想是不是跟bot和shamrock不在同一个系统环境下有关系,毫无思路qwq 以下是运行日志,在53分11秒末尾显示addfriend运行完成好像是 Screenshot_20240124_165454_com.wujie.connect.jpgScreenshot_20240124_165654_com.wujie.connect.jpg

ziru-w commented 9 months ago

这不也没报错,啥问题呀

ziru-w commented 9 months ago

说起来我没写自动重启,直接用了系统自带的定时任务让qsign和gocq每隔1小时重启一次,运行了估计1周了,状况稳定 )F2}L$I$KZX3EK7N(05$2CJ

aknyzsd commented 9 months ago

这不也没报错,啥问题呀

但是加群请求并没有被通过,我也没有收到bot相关报告,通过查看加群命令显示为空

aknyzsd commented 9 months ago

说起来我没写自动重启,直接用了系统自带的定时任务让qsign和gocq每隔1小时重启一次,运行了估计1周了,状况稳定 )F2}L$I$KZX3EK7N(05$2CJ

我这边3分钟崩一次qwq

ziru-w commented 9 months ago

你可以在这里加个print("其他类型")测试下是不是类型判断出错 image 如果输出了"其他类型"那么可以修改isinstance(event,FriendRequestEvent)为event.request_type=="friend",isinstance(event,GroupRequestEvent)为event.request_type=="group"试试 image

aknyzsd commented 9 months ago

彳亍,我去试试

aknyzsd commented 9 months ago

修改后出现新的报错Screenshot_20240126_011704_com.wujie.connect.jpg

aknyzsd commented 9 months ago

貌似不能这么搞,但是雀食被判定为无效信息了

ziru-w commented 9 months ago

你怎么能这么改,我的天

ziru-w commented 9 months ago

话说回来只改print("其他类型")时,输出其他类型了吗

aknyzsd commented 9 months ago

雀食判定为其他类型了

ziru-w commented 9 months ago

image 这样的

ziru-w commented 9 months ago

isinstance()可是个二参函数,你把布尔类型的关系式代进去肯定会报错

aknyzsd commented 9 months ago

我在想能不能print出收到的消息,我怀疑是不是shamrock写的时候加了点东西

ziru-w commented 9 months ago

isinstance()是比较数据类型的函数,这里可能类型发生了变化,比较结果为false了,你改成我给你发的图片试试,话说回来我给你的是整个,你咋只改了括号里的,event.request_type=="friend"就已经是单独的判断句了

ziru-w commented 9 months ago

快试试,说不定会有效

aknyzsd commented 9 months ago

好像有效了,但是触发了祖传bug Screenshot_20240126_013220_com.wujie.connect.jpg

ziru-w commented 9 months ago

咂舌,应该是这个接口没实现,不知道改了这个还有几个 image

aknyzsd commented 9 months ago

官方说实现了的,倒是之前在gocq也出过这个报错(怪)

ziru-w commented 9 months ago

这段代码的作用是用来判断该群是否已加入,我想想怎么回避,有了 image 把addInfo=await bot.get_group_info(group_id=int(id),no_cache=True)改为 try: addInfo=await bot.get_group_info(group_id=int(id),no_cache=True) except Exception as res: print("nonebot_plugin_addFriend/init.py61行\n",res) addInfo={"member_count":0,"max_member_count":0,"group_name":"略过","group_id":event.group_id}

ziru-w commented 9 months ago

注意缩进

aknyzsd commented 9 months ago

翻了翻文档,貌似支持,怪诶Screenshot_20240126_014711_com.microsoft.emmx.jpgScreenshot_20240126_014806_com.microsoft.emmx.jpg

ziru-w commented 9 months ago

可能是qq一些协议改了吧,没加群前没法用这个旧接口查信息了

ziru-w commented 9 months ago

image 刚才那张图片有点问题,是这张

ziru-w commented 9 months ago

刚才粘贴到58行去了

aknyzsd commented 9 months ago

qwq Screenshot_20240126_020906_com.wujie.connect.jpg

ziru-w commented 9 months ago

event.get_user_id()改为event.user_id,同时输出下这个看看event类型 image

    print(type(event))
    msg='群号{},{}{}{}\n时间:{}'.format(id,event.user_id,notice_msg,event.comment,time)
ziru-w commented 9 months ago

直接复制这个就好,他可能在这个事件里没有实现event.get_user_id()这个接口吧

ziru-w commented 9 months ago

可能这次就没问题了,有问题也该睡了

aknyzsd commented 9 months ago

啊这..... Screenshot_20240126_023024_com.wujie.connect.jpg

aknyzsd commented 9 months ago

有user_id啊qwq Screenshot_20240126_122323_com.microsoft.emmx.jpg

ziru-w commented 9 months ago

image 这样把在开头加个comment="略过",然后再把event.comment全替换成comment就好

aknyzsd commented 9 months ago

新的.....Screenshot_20240126_133604_com.wujie.connect.jpg

ziru-w commented 9 months ago

这就是最后一个环节同意加入了,这个事件真的有被实现吗,怎么函数没一个能用。 把await event.approve(bot)改为await bot.set_friend_add_request(flag=event.flag,approve=True) image

ziru-w commented 9 months ago

image 刚才的有点问题,没区分群聊好友,这样

aknyzsd commented 9 months ago

这是...接口错误?Screenshot_20240126_141302_com.wujie.connect.jpg

ziru-w commented 9 months ago

if autoType=='friend': await bot.set_friend_add_request(flag=event.flag,approve=True) else: await bot.set_group_add_request(flag=event.flag,sub_type=event.sub_type,approve=True)

ziru-w commented 9 months ago

加上这个sub_type=event.sub_type应该就好了

aknyzsd commented 9 months ago

能用辣,感谢带佬

ziru-w commented 8 months ago

说起来一开始忘了进行类型转换试试,就像这样说不定后边啥也不用改了 image

ziru-w commented 8 months ago

刚才玩英雄杀已经丝血反杀了,结果一个操作失误被拿走了虎符,真是的,难顶

aknyzsd commented 8 months ago

说起来一开始忘了进行类型转换试试,就像这样说不定后边啥也不用改了 image

啊这,容我有空试试去

aknyzsd commented 8 months ago

还没改呢,就出了新的bug(可能?)Screenshot_20240126_215539_com.wujie.connect.jpg

ziru-w commented 8 months ago

这段报错的意思是查无请求,容器里没找到这个申请,不清楚什么问题