Traceback (most recent call last):
File "d:\Desktop\temp\Pylab\qq-bot\1-0\1-2.获取用户列表.py", line 5, in <module>
import qqbot
File "C:\Users\esila\.conda\envs\qq-bot\Lib\site-packages\qqbot\__init__.py", line 3, in <module>
from .qqbotcls import QQBot, QQBotSlot, QQBotSched, RunBot, _bot
File "C:\Users\esila\.conda\envs\qq-bot\Lib\site-packages\qqbot\qqbotcls.py", line 20, in <module>
from qqbot.qconf import QConf
File "C:\Users\esila\.conda\envs\qq-bot\Lib\site-packages\qqbot\qconf.py", line 198, in <module>
from qqbot.utf8logger import SetLogLevel, INFO, RAWINPUT, PRINT, ERROR
File "C:\Users\esila\.conda\envs\qq-bot\Lib\site-packages\qqbot\utf8logger.py", line 10, in <module>
from qqbot.common import PY3
File "C:\Users\esila\.conda\envs\qq-bot\Lib\site-packages\qqbot\common.py", line 184, in <module>
import html.parser; htmlUnescape = html.parser.HTMLParser().unescape
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'HTMLParser' object has no attribute 'unescape'
对应的文档链接链接:https://bot.q.qq.com/wiki/develop/pythonsdk/api/member/get_guild_members.html
当
import qqbot
时,会出现如下报错:我询问chatgpt,它给出的解决方案如下: 这个报错是由于在 Python 3.9 及以上版本中,
html.parser.HTMLParser().unescape
已被移除。在 Python 3.9 及以上的版本中,你可以使用html.unescape
来代替HTMLParser().unescape
。解决方法:
你可以修改
qqbot
库中的文件,或者找到一个兼容的版本。如果你不想修改库文件,可以按照以下步骤解决:qqbot
的安装目录,并打开文件utf8logger.py
。将其修改为:
这将使用
html.unescape
函数,兼容 Python 3.9 及以上的版本。或者:
你可以降级到 Python 3.8 或更低版本,这样
html.parser.HTMLParser().unescape
就仍然存在。如果这个方法不起作用,可能需要使用其他兼容的机器人库,例如
botpy
或者查看qqbot
是否有更新版本来修复这个问题。最终,我希望能够使用最新版本的库,来获取频道成员列表。当然,可能库中有对应的方法,本人水平低下,无法读懂,请多海涵,谢谢!