boxmoe_header_banner_img

Hello! 欢迎来到梦汐阁!

加载中

文章导读

基于nonebot的QQ官方机器人搭建教程(Python)


avatar
烨汐 2026年4月2日 291

阅读文章前需要先了解的一些事

(这里是一些过时内容已经被删除)

好的,文章正片就要开始啦,既然你要部署一个机器人,你之后的目光请将自己视为开发者而不是用户,作为开发者的视角来设计自己的机器人,要想作为用户的别人要怎么使用你的机器人。最近平台一直在调整中,变化较大,官方说不定在之后也会开发新接口或者权限。

QQ开放平台

首先QQ官方机器人需要先在QQ开放平台 注册账号,可以使用企业为主体(前提是你是企业)也可以是个人为主体,需要实名认证,个人主体最多只能存在5个机器人(如果有机器人被封禁也占位置),企业是10个。选择机器人选项卡,然后点击下面的蓝色创建QQ机器人按钮,不要点击上面的QQ- BOT快速接入Openclaw入口,然后按照你的想法设置名称、头像、描述等信息。

创建好机器人后,点击你的机器人进入机器人管理页,点击开发管理

在这一页中需要将ID、Token、AppSecret的值保存下来,之后我们会有用,这是连接到机器人的关键。然后还是在这个页面,下方有个IP白名单,我们先用要部署机器人的电脑打开百度搜索“IP查询”,然后将“本机IP”的ip复制下来

然后回到机器人管理端在IP白名单页面点击右边的编辑,然后将复制下来的IP复制填入然后点击保存,这时候显示需要扫码验证本人,使用注册该主体的管理员QQ扫码验证即可保存。

nonebot源码

这里我将汐宝机器人的源码提供出来,建议萌新们直接使用汐宝框架源码来部署,源码已经将汐宝原来的功能全部删除只保留一个回复响应用于测试。请先下载汐宝框架源码到需要部署的电脑上并解压出来,汐宝框架源码保存在梦汐阁官方群聊群文件中。也可下载三叶草机器人的源码,三叶草机器人源码则是保留三叶草的功能,三叶草源码可以访问github镜像https://repo.cloverta.top/cloverta/SanYeCao-Nonebot获取。

下载安装python(或者蟒蛇Anaconda)

首先访问官网,可根据电脑系统来选择下载,我下面演示的系统为Windows Server 2016。强烈建议下载python3.11或者3.12,不要下载3.13及以上版本。

访问官网下载https://www.python.org/downloads/windows/

然后点开安装,将下面两个给勾上,然后选择立即安装或自定义安装(由于我服务器这里这有C盘,所以我安装在C盘,你也可以选择安装在D盘)

自定义安装至少要保证默认勾上的勾上,然后你再根据自己的需求选择勾上其他选项,例如给电脑所有用户都安装的选项。最后安装完成之后会出现个禁用路径长度限制的选项,建议点击选择,然后就可以关闭安装程序了。

nonebot连接官方机器人

首先打开源代码根目录的.env.prod文件将其中的“id”、“token”和“secret”的值替换为之前开放平台机器人的值。然后按win+r输入cmd打开cmd窗口,然后在cmd窗口输入cd+自己源代码的位置,例如我代码放在C盘上,文件夹叫汐宝bot,那么我输入cd C:\汐宝bot这里注意cd后面有个空格。然后我们先将 pip 升级到最新的版本后进行更换镜像源,永久设置为清华大学的镜像源
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
然后升级一下pip
python -m pip install --upgrade pip
然后我们要安装 pipx,输入
python -m pip install --user pipx
python -m pipx ensurepath

然后关闭这个cmd终端重新打开新cmd终端(这是为了使PATH更改生效),再打开项目根目录cd C:\汐宝bot安装

pipx install nb-cli==1.7.3 --force
然后安装所需的依赖,这一步所需时间较长,请耐心等待
pip install -r requirements.txt

接下来为了顺利运行,我们把常用的驱动器等东西都装一下

pip install nonebot2[fastapi] nonebot-adapter-qq nonebot-adapter-onebot apscheduler httpx pydantic nonebot-plugin-htmlrender aiofiles pillow psutil openai tortoise-orm requests aiohtt

然后执行

nb run

这时候一般会弹窗出现缺包缺库问题,毕竟我也很难保证你电脑有什么包和库,所以接下来是缺什么就装什么,例如当执行nb run出现下面的情况

就是缺spdcheduler 库的意思(看最后那个引号),这时候就执行pip install APScheduler就可以安装这个库,以此类推,缺什么就装什么,缺什么就pip install一下。

接下来再次执行nb run一般就可以运行啦,注意第一次运行可能耗时比较久,请耐心等待。直到出现你的机器人名字就已经连接成功了!

编辑器(可选)和功能开发

本文章的目的是基于nonebot部署QQ官方机器人,以上已经达成了。但是部署成功或就如文章开头说的,接下来你要作为开发者的角度去思考问题,接下来你需要自己给自己的机器人设计功能,会用到编辑器,本项目使用的是python,推荐使用PyCharm或者Visual Studio Code都可以。若你需要添加功能,就需要写python代码插件,你可以在项目你的项目名称(例如汐宝bot)\src\plugins文件夹下添加py文件即可。

这里需要讲一下,为什么编辑器可选,因为部署并不需要编辑器,也就是没有编辑器依然可以让项目运行。例如你有两台电脑,一台是主要用的,另一台用来挂机,就像我现在部署的这样,挂机的这一台并不需要编辑器。

一些开发例子教程

在开发过程中,你可能会想要发送图片或者视频等等内容,可以参考以下代码,这些代码来源于三叶(1423315181)并进行过修改

接下来讲解发送本地图片:

from pathlib import Path
from nonebot.rule import to_me
from nonebot.plugin import on_command
from nonebot.adapters.qq import MessageSegment

image = on_command("本地图", rule=to_me(), priority=10)

@image.handle()
async def handle_function():
local_image_path = Path("data/test.jpg")

# 检查文件是否存在,防止机器人直接报错崩溃
if local_image_path.exists():
await image.finish(MessageSegment.file_image(local_image_path))
else:
await image.finish(f"找不到图片,请检查路径")

这个代码表示的意思是用户发送指令”本地图”就触发这个插件代码,然后程序从data文件夹里寻找test.jpg这个图片发送,如果找不到这个文件则发送文字消息”找不到图片,请检查路径”

发送网路图片则可以直接将上面这个代码的image.handle函数修改为如下

@image.handle()
async def handle_function():
    url = "yexixi.top/wp-content/themes/lolimeow-lolimeowV13.1/assets/images/logo.png"
    await image.finish(MessageSegment.image(url))

发送视频也是一样的道理

MessageSegment.video(video_url) # 发送网络视频
MessageSegment.file_video(Path("data/video.mp4")) # 发送本地视频

看不懂代码?没关系,贴心的我会建议你可以在开发代码的时候将例子发给AI,然后结合你的需求来制作。

快捷cmd并cd教程

很显然项目只需要CMD终端便可运行,但是每次都WIN+R运行CMD然后cd多麻烦呀是吧。所以这里分享一个快速启动的方法。直接打开C:\Windows\system32\文件夹,然后定位到cmd.exe(当然除了CMD,你有更喜欢的终端也是可以的),右键cmd.exe然后点击创建快捷方式,然后将新创建的快捷方式右键剪切,在桌面右键粘贴。然后可以给桌面的这个快捷方式重命名你喜欢的名字,例如汐宝bot,这个名字不影响项目,仅作为一个图标的名字而已,便于你了解。然后右键这个快捷方式图标点击属性,将起始位置那一行改成项目根目录位置。这样每次双击这个快捷方式自动打开cmd还自己cd到项目位置了呢,接下来就只需执行nb run即可了,多方便呀。

最后

看到这,欢迎来群里交流哦。

另外要是文章有什么地方出错了也欢迎踢一下我修改哦,手码不易。

更新日志

2026-7-12:汐宝框架极简版0.2.0更新。适配官方主动和全量消息,屏蔽QQ适配器的默认接收日志改为接收原始日志,并打印接收消息中的关键元素(群聊/私聊,用户id和群昵称,消息内容,图片数量)使得更直观。注意,本版本需要QQ适配器1.7.2及以上,适配器作者在1.7.1的后期已经更新入群欢迎等元素,但是PIP指令无法拉取最新请求,故要不然直接更新QQ适配器1.7.2及以上要不然就是自行去适配器仓库拉取更新,仓库地址:NoneBot2 QQ 适配器

2026-4-2:汐宝框架极简版源码发布

源码下载

由于源码文件过小,故请前往梦汐阁官方群聊群文件内下载,不再额外提供高速直链下载方式。



评论(0)

查看评论列表

暂无评论


发表评论

表情 颜文字
插入代码
已成功复制,转载请标明出处哦