[Bug]: 从windows微信客户端@机器人,msg.mention_text() 会报错,手机端不会
Environment
- wechaty:
- wechaty-puppet:
- wechaty-puppet-service:
- wechaty-plugin-contrib:
- token type: padlocal|wxwork|xp
- the version of wechaty docker container: [0.65]
Description
从windows微信客户端@机器人,msg.mention_text() 会报错
Wechaty - ERROR - internal error <>
Minimum reproducible code
text = await msg.mention_text()
这里contact_id会拿到一个空"",可以先判空过滤一下绕过
https://github.com/wechaty/python-wechaty/blob/6c9d54ffc2ad4042fdb000c417b90a6807dfc29b/src/wechaty/user/message.py#L462
It's not a bug in python-wechaty: you should check whether the text is mentional message with the following:
if await msg.mention_self():
pass
if await msg.mention_list():
mention_text = await msg.mention_text()
So please help yourself to upgrade the code. Good luck to you.
同样遇到这个问题,通过
if await msg.mention_self():
if await msg.mention_self():
pass
if await msg.mention_list():
keyword = await msg.mention_text()
这个代码没有解决问题。 使用 https://github.com/wechaty/python-wechaty/pull/390 ,可以解决问题,希望官方可以重视。 感谢@B1gM8c 的贡献。
According to the diffs between https://github.com/wechaty/python-wechaty/pull/390 and https://github.com/wechaty/python-wechaty/tree/main, it seems that cached contacts is dirty not been updated. Fetching all of contacts works but violence.
I will try to merge this pr to fix this bug and refactor it later.