跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python

NoneBot 与 Lagrange 搭建 QQ 机器人教程

如何使用 Lagrange 和 NoneBot 搭建 QQ 机器人。首先准备电脑、Python 环境及 Lagrange 程序。根据操作系统下载并配置 Lagrange,修改 appsettings.json 连接 OneBot V11。接着安装 nb-cli 创建 NoneBot 项目,选择 OneBotV11 适配器。最后通过测试插件验证机器人是否正常运行。

落日余晖发布于 2026/4/5更新于 2026/9/981 浏览
NoneBot 与 Lagrange 搭建 QQ 机器人教程

前言

由于 go-cqhttp 可能无法使用,建议转移到无头 NTQQ 项目。其中 Lagrange 是一个优秀的平替作品。

准备工作

  1. 一台电脑或服务器
  2. Lagrange 程序
  3. Python 3.9 及以上版本
  4. NoneBot 插件

1. 关于操作系统

支持 Windows、Linux、MacOS。

2. Lagrange 程序下载

前往 GitHub Releases 页面下载对应系统架构的版本。

1. Windows

解压压缩包,将程序本体移动到项目文件夹。双击运行程序,使用 QQ 账号扫描二维码登录。成功后会在同级目录下生成配置文件。

修改 appsettings.json 配置文件,内容如下:

{"Logging":{"LogLevel":{"Default":"Information","Microsoft":"Warning","Microsoft.Hosting.Lifetime":"Information"}},"SignServerUrl":"https://sign.lagrangecore.org/api/sign/25765","MusicSignServerUrl":"","Account":{"Uin":0,"Password":"","Protocol":
"Linux"
,
"AutoReconnect"
:
true
,
"GetOptimumServer"
:
true
}
,
"Message"
:
{
"IgnoreSelf"
:
true
,
"StringPost"
:
false
}
,
"QrCode"
:
{
"ConsoleCompatibilityMode"
:
false
}
,
"Implementations"
:
[
{
"Type"
:
"ReverseWebSocket"
,
"Host"
:
"127.0.0.1"
,
"Port"
:
8080
,
"Suffix"
:
"/onebot/v11/ws"
,
"ReconnectInterval"
:
5000
,
"HeartBeatInterval"
:
5000
,
"AccessToken"
:
""
}
]
}

修改完成后重新启动程序。

2. Linux/MacOS

解压压缩包至项目根目录。赋予执行权限:

chmod +x ./Lagrange.OneBot 

运行程序:

./Lagrange.OneBot 

后续步骤与 Windows 一致,扫描二维码并修改配置文件。

3. NoneBot 框架搭建

1. 安装官方脚手架

确保 Python 版本 >= 3.9。在命令行输入:

pip install nb-cli 

安装完成后输入 pip list 确认 nb-cli 存在。

2. 创建项目

输入以下命令创建项目:

nb create 

按提示选择模板(如 simple)、项目名称、适配器(OneBotV11)、驱动器(fastapi)、插件存储位置(src)。依赖安装选 Y,虚拟环境视情况选择。

安装顺利后,根据提示运行框架。若连接成功,会显示 connection open,代表框架已与 Lagrange 握手。

3. 测试 Bot 是否正常

在 src/plugins 目录下新建 test.py 文件,写入以下内容:

from nonebot import on_regex
from nonebot.typing import T_State
from nonebot.adapters.onebot.v11 import GroupMessageEvent, Bot, Message

Test = on_regex(pattern=r'^测试$', priority=1)

@Test.handle()
async def test_send(bot: Bot, event: GroupMessageEvent, state: T_State):
    msg = "Bot 启动正常"
    await Test.finish(message=Message(msg))

在 Bot 所在群聊发送'测试',若收到回复则搭建成功。

目录

  1. 前言
  2. 准备工作
  3. 1. 关于操作系统
  4. 2. Lagrange 程序下载
  5. 1. Windows
  6. 2. Linux/MacOS
  7. 3. NoneBot 框架搭建
  8. 1. 安装官方脚手架
  9. 2. 创建项目
  10. 3. 测试 Bot 是否正常

更多推荐文章

查看全部
  • 扫频信号原理与应用
  • FPGA 工程最常见的 10 个玄学 BUG 与排查思路
  • 文心一言 4.5 开源模型深度解析:轻量化部署与多场景应用
  • 使用 Higress 将 REST API 转换为 MCP Server 工具
  • Dify 与 MySQL 深度融合:基于 MCP 协议的数据交互实践
  • 大语言模型人类对齐五大核心算法:SFT、RLHF、DPO、PPO、GRPO
  • AI 安全三场攻防战:从深度伪造到深度信任
  • 基于 Unity 2022 与 UXR SDK 开发轻量级 AR 消消乐游戏
  • TRAE 与 VSCode 中的 Git 版本管理指南
  • AI 产品经理核心:关键技术知识概览
  • Kotlin 语言核心特性与常见陷阱测试题解析
  • C++ 实现红黑树:深入理解 STL map 底层原理
  • 基于 ThinkPHP 与 Uniapp 的防伪溯源系统搭建指南
  • 开源知识库 RAGFlow 从部署到实战操作详解
  • Python 基本语法:函数定义与使用详解
  • 依赖注入:构建可测试的 Python 应用架构
  • 基于 OpenClaw 与飞书开放平台搭建 AI 新闻推送机器人
  • 前端请求后端 404/405/500 状态码:排查与解决指南
  • GitHub Copilot 学生认证教程及配置指南
  • 蓝桥杯 C/C++ 备考攻略:3-6 个月入门到实战,含高频考点与代码模板

相关免费在线工具

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online