用Python语言创建QQ机器人

用nonebot2模块创建QQ机器人,基于的原理应是反向协议,其中bot.py的代码如下:


import nonebot
from nonebot.adapters.onebot.v12 import Adapter as ONEBOT_V12Adapter

# Custom your logger
# 
# from nonebot.log import logger, default_format
# logger.add("error.log",
#            rotation="00:00",
#            diagnose=False,
#            level="ERROR",
#            format=default_format)

# You can pass some keyword args config to init function
nonebot.init()
app = nonebot.get_asgi()

driver = nonebot.get_driver()
driver.register_adapter(ONEBOT_V12Adapter)

nonebot.load_builtin_plugins("single_session")

# Please DO NOT modify this file unless you know what you are doing!
# As an alternative, you should use command `nb` or modify `pyproject.toml` to load plugins
nonebot.load_from_toml("pyproject.toml")

# Modify some config / config depends on loaded configs
# 
# config = driver.config
# do something...


if __name__ == "__main__":
    nonebot.logger.warning("Always use `nb run` to start the bot instead of manually running!")
    nonebot.run(app="__mp_main__:app")

当所有文件配置好时,按理讲最后一步就是运行这个文件了,可当运行时发生如下报错:


Traceback (most recent call last):
  File "C:/Users/MacBooK/毛森/bot.py", line 5, in 
    from nonebot.adapters.onebot.v12 import Adapter as ONEBOT_V12Adapter
ModuleNotFoundError: No module named 'nonebot.adapters'

按照报错的意思处理后,安装'nonebot.adapters'报错如下:
ERROR: Could not find a version that satisfies the requirement nonebot.adapters (from versions: none)
ERROR: No matching distribution found for nonebot.adapters
然后就是剩下一脸懵逼的我了……求各位指点,将万分感激!

ChatGPT尝试为您解答,仅供参考
根据报错信息,你尝试安装的模块名是nonebot.adapters,但是没有找到这个模块。nonebot是一个用于创建QQ机器人的Python库,nonebot.adapters是nonebot的子模块,用于适配不同的协议和服务器。


在你的代码中,你使用了一个名为ONEBOT_V12Adapter的适配器,这个适配器应该在nonebot.adapters.onebot.v12模块中定义,而你的代码中没有这个模块,导致了错误的发生。


解决这个问题的方法是安装nonebot库。你可以使用pip命令来安装nonebot库:

pip install nonebot

安装完成后,应该就能正常运行你的代码了。


需要注意的是,nonebot库是运行在python3.7+版本中的,因此你需要确保你的Python版本是3.7以上的。

你确定适配器装好了吗?
nb adapter install nonebot.adapters.onebot.v12