-
Notifications
You must be signed in to change notification settings - Fork 8.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
增加wechat channel “关键词自动接收好友申请”功能和“关键词自动邀请进群”插件 #1900
base: master
Are you sure you want to change the base?
Conversation
还得是我杜博 |
[DEBUG][2024-04-21 04:22:56][plugin_manager.py:189] - Plugin GOOGLESEARCH triggered by event Event.ON_HANDLE_CONTEXT 自动加个人好友,会和其他插件冲突,导致不响应,如上DEBUG。杜博士,请问如何修复? |
问的ChatGPT:这个代码的问题是,你在 if content.startswith("搜索 "): 这行代码中,尝试在字典对象上使用 startswith() 方法,但是字典类型根本没有该方法。startswith() 是字符串类型的方法。 我不清楚 content 的定义和目的,但我假设它是从 e_context 对象中提取的,应该是一段文本。你需要审查生成 e_context 的代码,确保 content 是一个字符串而不是字典。如果它本来就应该是字典,那么你可能需要改变策略,不使用 startswith() 方法,而是进行适合字典的关键字检查或类似的操作。 |
你这个插件在哪啊 |
道理上应该监听msg类型为accept_friend时跳过你这个GOOGLESEARCH插件的处理过程 |
加个人好友(“关键词自动接收好友申请”功能)会触发上面BUG,不单只有这个GOOGLESEARCH插件会冲突,只要其他插件里有这2行代码(content = e_context["context"]和cmsg : ChatMessage = e_context['context']['msg'])的都会触发。比如COW附带插件:summary,dungeon,finish,tool都会触发如上错误。 只有禁用以上带这2段代码的插件才可以关键词自动接收好友申请”功能 |
没有复现你的错误。我不知道GOOGLESEARCH你这个插件是怎么写的,以仓库里的 tool为例, |
https://github.com/Yanyutin753/googleSearch-On-Wechat/blob/main/GoogleSearch.py 大佬不是我写的插件,这个地址,你看下哪里冲突了,还有我把这个插件禁用了,其他插件COW附带插件:summary,dungeon,finish也会类似提示BUG,只有禁用以上带这2段代码的插件才可以使用 输入关键词 自动接收个人好友申请 功能(另外我群聊天的窗口输入关键词,机器人不会自动加我好友。是我的号加了机器人时备注信息关键词 机器人才可以通过好友)。发关键词在群 自动加群聊没问题。 |
看了一下,和我预想的一样,它没有判断上下文类型就进行匹配了,这个需要他们改。现有上下文类型有以下 他们插件本就应该只处理TEXT类型的上下文。 另外该pr的第一个功能是 “关键词自动接收好友申请”而不是“群聊天的窗口输入关键词,机器人自动加好友”,你这个需求不是我这个功能。 |
大佬,那就这个插件和COW官方之前推荐的几个插件都有这个有问题, |
我不是说了吗 |
好的,大佬我改下看 |
@zhayujie 求大佬更新这个 |
希望大佬可以考虑在加入一个添加好友成功后,会触发设置好的回复,以达到自动添加了好友后可以知道发送什么关键词自动拉人进群 |
三周啦,还没合并 |
请问,自动通过好友之后怎么修改代码以实现自动打招呼?谢谢大佬! |
不好意思刚看到。这个流程可能作为插件实现比较麻烦。。得改主代码的逻辑 |
可以讲一下方法吗?我想试试,谢谢啦! |
不好意思我也好久没关注这个项目了。无非就是添加好友成功后触发一个事件,然后获取用户参数后,往这个用户发于定义消息就行了吧。不过有没有这样的接口我不记得了。你可以参考一下这个pr的代码改动,尤其是
这一块,好好理解一下 |
我研究研究,谢谢! |
close #1087
close #1145