2024 年最新基于 LLOneBot NT 框架搭建 QQ 机器人详细教程(更新中)

news2025/2/24 9:10:53

LLOneBot 概述

llonebot(LLOneBot)是一个与OneBot(也称为CQHTTP)协议兼容的机器人框架,它允许开发者使用不同的编程语言(如Python、Go、JavaScript等)编写机器人应用,并与各种支持 OneBot 协议的聊天平台(如QQ、Telegram、Discord等)进行交互。

LLOneBot 官方网站:https://llonebot.github.io/zh-CN/

在这里插入图片描述

附加:Onebot 11 框架概述

onebot 11 背景

CQHTTP 插件是 2017 年初出现的基于 CKYU 机器人平台的一款开源免费插件,它使用户能够通过 HTTP 或 WebSocket 对 CKYU 的事件进行上报以及接收请求来调用 CKYU 的 DLL 接口,从而可以使用其它语言(不方便编译到原生二进制的语言)编写 CKYU 插件。

有非常多的开发者使用 Python、Java、Node.js 等 web 开发常用语言基于 CQHTTP 插件编写各式各样的聊天机器人。在新的机器人平台 Mirai 开始发展之后,以及 CKYU 决定停运之后,为了让原来基于 CQHTTP 插件编写的机器人能够继续运行,一些开发者在其它机器人平台上编写了兼容 CQHTTP 接口的插件/模块。

onebot 11 动机

基于 CQHTTP 插件编写的机器人项目有很多,CKYU 停运后,如果不能平滑迁移到其它平台,这些项目的很多代码都需要重写,甚至有很多项目可能被迫放弃维护,这对机器人开发社区来说是一种损失和浪费。

目前各 CQHTTP 兼容项目通常是实现了部分原 CQHTTP 插件的接口,并利用新平台的特性,新增了一些拓展接口。长远来看,这可能导致不同兼容项目最终形成了各自的「CQHTTP 接口变种」,当用户深度接入其中一个兼容项目后,可能又会出现与其它变种不兼容的情况,最终仍然存在潜在的迁移困难。

本项目希望通过改写原 CQHTTP 插件文档 + 引入 CQHTTP 兼容项目的新特性的方式,维护一个统一的、不断发展的接口标准(即 OneBot 标准),推动各 CQHTTP 兼容项目实现长远的兼容,为用户带来便利。

安装 QQNT 架构 QQ

QQNT是腾讯QQ最新采用的一种技术架构,这一架构在2023年得到了全面的应用和推广。它代表了QQ技术架构的一次重大升级,旨在提升QQ的整体性能、流畅度和稳定性。

跨平台内核层:QQNT架构采用C++开发了跨平台内核层,将IM核心业务逻辑、QQ通用组件,以及线程、网络、IO等通用资源管理模块和操作系统封装部分统一下沉到这一层。

模块解耦:新架构按业务划分模块,业务模块之间相互解耦,通过接口和路由进行通信。同时按层级设计划分,层级自上而下依赖,上层模块可依赖下层模块,但下层模块不能逆向依赖上层模块。

性能优化:基于全新数据流架构、数据预加载和UI逻辑并行化的设计思路,完成单向数据流驱动与异步加载渲染,系统资源全力供给关键功能,如聊天窗口(AIO),最终性能指标提升明显。

安装包下载地址:https://im.qq.com/pcqq/index.shtml

在这里插入图片描述

立即安装 QQ

在这里插入图片描述

llob_install.exe 安装

快速开始

QQ 版本 LLOneBot 支持到最新版本的 QQ。不推荐太老的版本,9.9.7(21804) 之前的版本都没有经过仔细测试,可能会有一些问题。

Windows 用户一键安装方案

install_llob 下载地址:https://github.com/super1207/install_llob/releases

在这里插入图片描述

下载 install_llob.exe 安装可执行文件。双击运行 install_llob.exe 即可开始自动安装。

常见报错

2024-06-14 22:43:51  INFO llob_install: 欢迎使用LLOB安装器0.0.4 by super1207
2024-06-14 22:43:51  INFO llob_install: 正在检查是否拥有管理员权限...
2024-06-14 22:43:51  INFO llob_install: 拥有管理员权限
2024-06-14 22:43:51  INFO llob_install: 正在查询QQ安装位置...
2024-06-14 22:43:51  INFO llob_install: 从注册表获取到QQ.exe
2024-06-14 22:43:51  INFO llob_install: QQ安装位置: "C:\\Program Files\\Tencent\\QQNT"
2024-06-14 22:43:51  INFO llob_install: 正在检查QQ是否正在运行...
2024-06-14 22:43:53 ERROR llob_install: QQ正在运行,请先结束QQ

注意:安装时候请关闭 QQ 进行 install_llob.exe 执行安装。

安装演示

在这里插入图片描述

登陆 QQ 查看设置

在这里插入图片描述
打开 QQ 的设置,看到了 LLOneBot 就代表安装成功了。

在这里插入图片描述

通用安装教程:https://llonebot.github.io/zh-CN/guide/getting-started

LiteLoaderQQNT 插件加载器

llob_install.exe 安装完成,打开 QQ 设置发现存在 LiteLoaderQQNT、LLOneobt v.x.x.x。其中 LiteLoaderQQNT 是 QQNT 的插件加载器,一般在 QQNT 的环境内简称为 LiteLoader。它可以让你自由地为 QQNT 添加各种插件,并实现例如美化主题、增加功能等各种功能。

LiteLoaderQQNT 插件加载器官网:https://liteloaderqqnt.github.io/

在这里插入图片描述

开发插件文档教程:https://liteloaderqqnt.github.io/docs/introduction.html

安装 NoneBot 框架

环境需求:Python 版本 >= 3.8

配置镜像源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set install.trusted-host pypi.tuna.tsinghua.edu.cn

升级 pip 包管理器

pip install --upgrade pip

安装 nb-cli 脚手架

pip install nb-cli -i https://pypi.tuna.tsinghua.edu.cn/simple

安装完成后,你可以在命令行使用 nb 命令来使用脚手架。如果出现无法找到命令的情况(例如出现“Command not found”字样),重启一下命令行窗口。

package 安装(可忽略:nb-cli 自动安装所需依赖包)

nb-cli 脚手架

pip install nb-cli -i http://mirrors.aliyun.com/pypi/simple/ requests --trusted-host mirrors.aliyun.com

nonebot2 框架

pip install nonebot2 -i http://mirrors.aliyun.com/pypi/simple/ requests --trusted-host mirrors.aliyun.com

nonebot-adapters-onebot 适配器

pip install nonebot-adapter-onebot  -i http://mirrors.aliyun.com/pypi/simple/ requests --trusted-host mirrors.aliyun.com

fastapi

pip install nonebot2[fastapi] -i http://mirrors.aliyun.com/pypi/simple/ requests --trusted-host mirrors.aliyun.com

配置连接 NoneBot2 框架

配置对接其他框架:例如 Koishi、NoneBot

在这里插入图片描述

提示:Koishi 是一个跨平台、可扩展、高性能的聊天机器人框架。

补充:Koishi 官方网站:https://koishi.chat/zh-CN/

配置 NoneBot

这里假设你已经安装了 Onebot 适配器,默认情况 NoneBot 是启用了反向 ws 的,可能是默认配置问题,需要配置 token 才能正常连接,修改 NoneBot 配置文件 .env,添加 ONEBOT_ACCESS_TOKEN=你的token。然后启用 NoneBot,可以看到 NoneBot 输出的端口号,如 8080 端口。

ONEBOT_ACCESS_TOKEN=你的token

配置演示截图

在这里插入图片描述

在 LLOneBot 配置页面添加反向 ws 地址,地址为 ws://127.0.0.1:8080/onebot/v11/ws, 这里的 8080 是 NoneBot 输出的端口号,/onebot/v11/ws 是 NoneBot onebot 适配器默认的路径。

注意:记得 LLOneBot 配置的 token 需要和 NoneBot 配置的 一致

创建启动 NoneBot2 项目

nb create

选择 bootstrap 初学者或用户

在这里插入图片描述
填写项目名称选择适配器
在这里插入图片描述
驱动器选择 FastAPI 驱动器

在这里插入图片描述

选择内置插件 例如:选择 echo

使用 poetry 或 pdm 等依赖管理工具添加以下包:
  nonebot-adapter-onebot nonebot2[fastapi]
运行以下命令来启动你的机器人:
  cd linenazi-bot
  nb run --reload

在项目文件夹中创建一个 .env 文本文件

HOST=0.0.0.0  			# 配置 NoneBot 监听的 IP / 主机名
PORT=8080  				# 配置 NoneBot 监听的端口
COMMAND_START=["/"]  	# 配置命令起始字符
COMMAND_SEP=["."]  		# 配置命令分割字符

启动 Bot

nb run --reload

06-14 23:38:49 [SUCCESS] nonebot | NoneBot is initializing...
06-14 23:38:49 [INFO] nonebot | Current Env: prod
06-14 23:38:49 [SUCCESS] nonebot | Succeeded to load plugin "echo" from "nonebot.plugins.echo"
06-14 23:38:49 [SUCCESS] nonebot | Running NoneBot...
06-14 23:38:50 [INFO] uvicorn | Started server process [7580]
06-14 23:38:50 [INFO] uvicorn | Waiting for application startup.
06-14 23:38:50 [INFO] uvicorn | Application startup complete.
06-14 23:38:50 [INFO] uvicorn | Uvicorn running on http://127.0.0.1:8080 (Press CTRL+C to quit)
06-14 23:38:51 [INFO] uvicorn | ('127.0.0.1', 50817) - "WebSocket /onebot/v11/ws" [accepted]
06-14 23:38:51 [INFO] nonebot | OneBot V11 | Bot 你的QQ号 connected
06-14 23:38:51 [INFO] websockets | connection open

出现 connection open 说明启动成功,成功连接 LLonebot 端。

NoneBot2 常见案例

待更新······

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1824313.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

观察 jvm 运行时数据区内存大小(native memory tracking)

jvm 运行时数据区 jvm 运行时数据区包括且不限于以下几个部分: 堆(heap): 用于存储对象实例和数组。堆内存的分配和释放由垃圾回收器进行管理。方法区(method area): 用于存储类的信息、静态变量、常量等。jdk 8 后方法区位于 metaspace。虚拟机栈(vm stack): 用于存储方法的…

Mysql之不使用部署在k8s集群的Mysql而是选择单独部署的Mysql的原因

测试准备: 线程组:并发数100,持续时间2min 两个请求:使用k8s集群中的mysql的wordpress对应端口30011 使用单独部署的mysql的wordpress的对应端口为30022 访问同一个博客 测试结果: 汇总报告: 响应时间图&…

16.番外_模拟c语言文件流

16.番外:模拟c语言文件流 一,前言 先来看一下Struct _IO_FILE的定义。 grep -rnw /usr/include/ -e struct _IO_FILE今天我们要做的就是模拟实现FILE及C语言文件操作相关函数 二,开始!做吧!我们! 1.FILE的缓冲区及…

「小爱同学」接入豆包大模型;华为鸿蒙 OS 成为中国第二大操作系统丨 RTE 开发者日报 Vol.224

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

【Android面试八股文】你知道如何实现非阻塞式生产者消费者模式吗?

文章目录 这道题想考察什么 ?考察的知识点日常生活中的生产者消费者模式生产者消费者模式简介为什么需要缓冲区?阻塞与非堵塞非阻塞式生产者消费者模式的实现非阻塞式生产者消费者模式的实现阻塞式生产者消费者模式实现特点这道题想考察什么 ? 是否了解非阻塞式生产者消费者…

R可视化:ggpubr包学习

欢迎大家关注全网生信学习者系列: WX公zhong号:生信学习者 Xiao hong书:生信学习者 知hu:生信学习者 CDSN:生信学习者2 介绍 ggpubr是我经常会用到的R包,它傻瓜式的画图方式对很多初次接触R绘图的人来…

GO RACE 测试在低版本GCC上报错误 exit status 0xc0000139

windows机器环境,go程序使用race定位时一运行就报错,写了个example如: 能看到加了race之后就不行了, 搜了一下,git上有个issue: runtime: Race detector causes exit status 0xc0000139 on Windows 11 wi…

高考志愿填报选专业,兴趣爱好和就业前景哪个优先?

每个人都有自己的兴趣与爱好,而高考志愿填报是在为自己选择职业方向。最理想的状态就是把自己的兴趣和爱好与自己的职业统一起来,让兴趣和爱好促进职业的发展,为职业增添动力。但现实生活中,这种理想的状态并不是每个人都能达到的…

Java多线程面试重点-2

16.Synchronized关键字加在静态方法和实例方法的区别? 修饰静态方法,是对类进行加锁(Class对象),如果该类中有methodA和methodB都是被Synch修饰的静态方法,此时有两个线程T1、T2分别调用methodA()和methodB()&#x…

http穿透怎么做?

众所周知http协议的默认端口是80,由于国家工信部要求,域名必须备案才给开放80端口,而备案需要固定公网IP,这就使得开放http80端口的费用成本和时间成本变的很高。那么能不能利用内网穿透技术做http穿透呢?下面我就给大…

Stability AI最新的SD3模型存在严重问题 为规避裸体结果导致躯体部分错乱

人工智能 Stability AI 最新的 SD3 Medium 模型存在严重问题,只要生成人物就会出现躯体错乱,这似乎是该公司刻意规避生成裸体图片的结果。目前猜测他们可能在训练过程中就剔除了 NSFW 内容,同时在训练时规避裸体内容进而导致模型也会刻意将人…

Haption Virtuose 6D力反馈设备遥操作机器人应用研究

在虚拟现实和远程操作技术的飞速发展下,力反馈设备成为了一个不可或缺的工具。其中,Haption Virtuose 6D力反馈设备以其卓越的性能和广泛的应用领域,成为了这一领域的佼佼者。本文将详细介绍Haption Virtuose 6D力反馈设备及其在遥操作机器人…

Flutter系列:关于ensureInitialized()

Flutter系列 关于ensureInitialized() - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28…

RBAC权限实战

一、项目结构说明、搭建以及初步验证 引入SSM框架依赖: <dependencies> <dependency> <groupId>javax.servlet…

原型模式(大话设计模式)C/C++版本

原型模式 C 参考&#xff1a;https://www.cnblogs.com/Galesaur-wcy/p/15924300.html #include <iostream> #include <string> using namespace std;class WorkExprerience { private:string workDate;string company;public:WorkExprerience() {}~WorkExprerie…

《站在2024年的十字路口:计算机专业是否仍是高考生的明智之选?》

文章目录 每日一句正能量前言行业竞争现状行业饱和度和竞争激烈程度[^3^]新兴技术的影响[^3^]人才需求的变化[^3^]行业创新动态如何保持竞争力 专业与个人的匹配度判断专业所需的技术能力专业核心课程对学生的要求个人兴趣和性格特点专业对口的职业发展要求实践和经验个人价值观…

redis的四种模式部署应用

这里写目录标题 redis应用redis单机部署redis主从redis哨兵Cluster模式 redis应用 redis单机部署 关闭防火墙[rootzyq ~]#: yum -y install wget make gcc gcc-c ...... [rootzyq ~]#: wget https://download.redis.io/redis-stable.tar.gz --2024-01-01 19:41:14-- https:/…

qemu创建kvm虚拟机-x86模拟arm

1、虚拟机环境 虚拟机ubuntu22.042、下载需要的依赖 apt install openssh-server net-tools vim -yapt install qemu qemu-kvm qemu-system-arm bridge-utils uml-utilities qemu-efi-aarch64 cloud-image-utils -y#查看版本 qemu-img -V(1) 下载uefi固件 cd /optwget https…

tcp协议机制的总结(可靠性,提高性能),基于tcp的应用层协议,用udp如何实现可靠传输

目录 总结 引入 可靠性 ​编辑 分析 三次握手 提高性能 其他 常见的基于tcp应用层协议 用udp实现可靠传输 总结 引入 为什么tcp要比udp复杂的多? 因为它既要保证可靠性,又要兼顾性能 可靠性 分析 其中,序列号不止用来排序,还可以用在重传时去重 确认应答是机制中的…

中小制造业工厂要不要上MES系统

MES系统的主要功能包括制造数据管理、计划排产管理、生产调度管理、库存管理、质量管理、人力资源管理、工作中心/设备管理、工具工装管理、采购管理、成本管理、项目看板管理、生产过程控制、底层数据集成分析、上层数据集成分解等。通过这些模块&#xff0c;MES为企业打造一个…