NoneBot+Lagrange搭建qq机器人保姆级别教程

NoneBot+Lagrange搭建qq机器人保姆级别教程

前言

因为一些原因,go-cqhttp不一定能使用,gocq的作者也是呼吁大家尽快转移到无头NTQQ项目当中去,其中就有很多优秀的平替作品,如:NapNeko/NapCatQQ: 基于NTQQ的无头Bot框架 (github.com)还有今天要介绍的LagrangeDev/Lagrange.Core: An Implementation of NTQQ Protocol, with Pure C#, Derived from Konata.Core (github.com)

准备工作

  1. 一台电脑或服务器(服务器搭建bot的教程后面会出)
  2. Lagrange程序
  3. python3.9及以上版本
  4. nonebot插件

1.关于操作系统

可供选择的操作系统:

  1. Windows
  2. Linux
  3. MacOS

2.Lagrange程序下载

首先是程序下载链接:Releases · LagrangeDev/Lagrange.Core (github.com)

根据操作系统不同选择不同的版本

1.Windows

根据系统架构选择版本,我的是64位操作系统就选择我圈起来的

解压压缩包,获得程序本体,将程序本体移动到项目文件夹,这里我移动到Bot2文件夹,双击运行程序出现下面的界面

使用要做bot账号的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":""}]}

修改完成后重新启动程序,至此Lagrange的安装以及配置已经完成

2.Linux/MacOS

同样的选择对应系统架构的版本

获得压缩包后将压缩包放到项目文件夹中使用 tar -xvf 压缩包名称 命令来解压压缩包,与window相同,将解压出来的可执行文件放到项目根目录(MacOS同理)

获得可执行文件后先给程序赋予权限(可选,推荐进行这一步)

chmod +x ./Lagrange.OneBot 

赋予权限后运行程序

./Lagrange.OneBot 

剩下的步骤和windows一致扫描二维码以及修改配置文件,这里不过多赘述

2.NoneBot框架搭建

1.安装官方手脚架

注意: python版本要大于或等于3.9,nonebot仅支持3.9及以上版本

Windows和Linux一样,都打开命令行(Windows是cmd)输入以下命令

pip install nb-cli 

安装完成后输入 pip list 查看列表中是否有nb-cli

2.使用手脚架创建项目

确认手脚架安装完毕我们开始创建项目

输入以下命令

nb create 

我个人比较习惯simple模板因为旧版nonebot就是simple模板,这里按照个人喜好进行选择,用键盘上下键选择,选择完毕后回车

这里需要输入项目名称,大家随便取,这里我就取名test,取好名字就回车

这里让我们选择适配器,我们选择OneBotV11使用方向键选择,空格确定然后回车

这里选择驱动器,默认选择了fastapi直接回车就行

这里选择插件存储位置,选择src然后回车

是否安装依赖,填y回车

是否创建虚拟环境,我这里有虚拟环境所以填n,有小伙伴可能不知道虚拟环境是什么,可以去百度一下,反正就是为了让项目依赖不混乱的

要使用哪些内置插件,可以不选择直接回车

如果安装顺利你会看到以下界面

根据提示的命令我们运行框架,如果前面的步骤进行顺利会看到以下界面,connection open 代表框架已经和Lagrange握手链接,至此我们的qqbot已经搭建完成

3.测试Bot是否正常

如果想要测试bot是否启动正常可以在 src/plugins 目录下新建 test.py 文件写入以下内容

''' Author: 萌新源 Date: 2024-08-07 18:14:19 LastEditTime: 2024-08-08 23:15:31 LastEditors: 萌新源 Description: 测试bot是否正常启动 个性签名:敲代码就仨字,我乐意 '''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()asyncdefTest_send(bot: Bot, event: GroupMessageEvent, state: T_State): msg ="Bot启动正常"await Test.finish(message=Message(msg))

在bot所在群聊发送测试如果看到bot回复Bot启动正常那么恭喜你你成功搭建了一个qq机器人

结尾

qq交流群:934541995

好了,至此你已经学会如何搭建一个属于自己的qq机器人了,如果本文章有帮助到你可以给我一个一键三连吗,谢谢

后续我也会考虑写nonebot插件开发教程,具体看呼声大不大了

最后感谢您的耐心阅读,我们下期再见

Read more

一:ROS2+gazebo+PX4环境搭建:环境搭建到无人机起飞

前言 写博客记录学习的过程。 由于博客是安装完环境后写的,因此实际可能会有一些出入,但是实际上也大差不差的。 环境搭建 前置环境 * ROS2 humble * Gazebo Classic (11) 1.下载 PX4 源码 在你的 Home 目录下,用 Git 克隆 PX4 的代码仓库,并更新所有子模块。 git clone https://github.com/PX4/PX4-Autopilot.git --recursive 注意:由于这个源码中包含许多子模块,因此不建议到github主页下载zip再解压,这样做会缺失许多子模块。使用大陆的网络克隆起来会十分慢,因此强烈建议大家使用网络加速! 2.运行自动安装脚本 PX4 提供了自动化脚本,可以帮你安装编译仿真环境所需的所有依赖。 cd PX4-Autopilot bash ./Tools/setup/

ComfyUI提示词助手实战:如何通过自动化流程提升AI绘画效率

在AI绘画的世界里,提示词(Prompt)就像是画师手中的画笔和调色盘。但很多时候,我们感觉自己更像是一个在黑暗中摸索的“咒语吟唱者”——花大量时间反复尝试不同的词汇组合,只为得到一张满意的图片。手动编写和调试提示词,不仅耗时费力,而且结果常常像开盲盒,充满了不确定性。这种低效的重复劳动,严重拖慢了创意落地的速度。 今天,我想和大家分享一个实战经验:如何利用 ComfyUI 的模块化特性,构建一个属于自己的“提示词助手”,将我们从繁琐的手工劳动中解放出来,实现效率的飞跃。通过一套自动化流程,我的提示词生成效率提升了不止300%,而且输出结果更加稳定可控。下面,我就从痛点分析到方案落地,一步步拆解这个过程。 1. 从痛点出发:为什么需要自动化? 在深入技术细节之前,我们先明确要解决什么问题。手动操作提示词主要有三大痛点: 1. 时间成本高昂:构思、输入、微调一个复杂的提示词,往往需要几分钟甚至更久。对于需要批量生成或快速迭代的场景,这是不可承受之重。 2. 调试过程低效:修改一个词,就需要重新跑一遍完整的生成流程,等待渲染,对比效果。

从语法拆分到用户感知:我的前端认知重构之路

文章目录 * 一、告别机械拆分:前端的核心是“用户感知三要素” * 二、核心发现:三要素皆跨“三剑客”边界 * 三、前端开发的终极方向:声明式编程与生态协同 * 四、总结:前端学习的思维转变 作为一名软件专业学生,在学习前端的过程中,我发现很多学习者容易陷入一个误区——机械割裂HTML、CSS、JS的作用,将其简单定义为“内容、样式、逻辑”的三分法。这种基础认知虽能入门,但很难触及前端开发的核心本质。今天想分享我的思考:前端开发应跳出语法层面的拆分,从用户感知出发构建认知,最终走向声明式编程的高效开发模式。 一、告别机械拆分:前端的核心是“用户感知三要素” 很多人初学前端时,会把HTML、CSS、JS当作三个独立的模块逐一攻克:HTML负责搭骨架,CSS负责做美化,JS负责写逻辑。这种学习方式固然能快速掌握基础语法,但在实际开发中会发现,这种割裂的思维会导致代码脱节——比如只顾样式美观却忽略数据准确性,或是逻辑通顺但交互体验糟糕。 真正的前端开发,