搭建一个本地运行的QQ机器人需要以下步骤,以常见的 go-cqhttp + NoneBot2 框架为例:

一、准备工作

1.注册QQ小号

避免使用主账号,机器人存在封号风险。

2.安装环境

Python 3.8+(推荐使用虚拟环境)

go-cqhttp(OneBot协议的实现)

NoneBot2(机器人框架)

二、安装配置 go-cqhttp

1.下载 go-cqhttp

从 GitHub Releases 下载对应系统的可执行文件。

解压到本地目录(如 D:\qqbot)。

2.生成配置文件

首次运行 go-cqhttp.exe,选择 3 (HTTP通信),生成 config.yml。

修改 config.yml:

account:

uin: 你的QQ号

password: '你的QQ密码'

message:

post-format: array # 推荐改为array以兼容NoneBot

servers:

- http:

host: 127.0.0.1

port: 5700

secret: '' # 可选密钥

- ws-reverse:

universal: ws://127.0.0.1:8080/onebot/v11/ws # 反向WebSocket地址

reconnect-interval: 5000

三、安装配置 NoneBot2

1.安装 NoneBot2

pip install nonebot2 nonebot-adapter-onebot

2.创建项目

mkdir my_qqbot && cd my_qqbot

3.编写启动文件 bot.py

from nonebot import init, get_driver

from nonebot.adapters.onebot.v11 import Adapter

# 初始化 NoneBot

init()

driver = get_driver()

driver.register_adapter(Adapter)

# 加载插件(示例插件见下文)

nonebot.load_plugin("nonebot_plugin_echo") # 示例:自动回复插件

4.编写示例插件 plugins/echo.py

from nonebot.plugin import on_message

from nonebot.adapters.onebot.v11 import MessageEvent

echo = on_message()

@echo.handle()

async def _(event: MessageEvent):

await echo.finish(f"你说了:{event.get_message()}")

四、运行机器人

1.启动 go-cqhttp

运行 go-cqhttp.exe,扫码或输入验证码登录QQ账号。

2.启动 NoneBot

uvicorn bot:app --host 0.0.0.0 --port 8080 --reload

3.测试机器人

向机器人QQ发送消息,观察是否自动回复。

五、高级功能示例

处理加好友请求

参考链接

https://nonebot.dev/

https://docs.go-cqhttp.org/

通过以上步骤,你可以在本地运行一个基础的QQ机器人,并根据需求扩展功能。

声明:QQ机器人仅用于学习,不可产生利益,文章由NaCl参考Deep seek给出的整理编辑完成,如有侵权,请联系删除。