NoneBot+Lagrange搭建qq机器人保姆级别教程_lagrange.onebot
前言
因为一些原因,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)
准备工作
- 一台电脑或服务器(服务器搭建bot的教程后面会出)
- Lagrange程序
- python3.9及以上版本
- nonebot插件
1.关于操作系统
可供选择的操作系统:
- Windows
- Linux
- 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:19LastEditTime: 2024-08-08 23:15:31LastEditors: 萌新源Description: 测试bot是否正常启动个性签名:敲代码就仨字,我乐意\'\'\'from nonebot import on_regexfrom nonebot.typing import T_Statefrom nonebot.adapters.onebot.v11 import GroupMessageEvent, Bot, MessageTest = 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所在群聊发送测试如果看到bot回复Bot启动正常那么恭喜你你成功搭建了一个qq机器人
结尾
qq交流群:934541995
好了,至此你已经学会如何搭建一个属于自己的qq机器人了,如果本文章有帮助到你可以给我一个一键三连吗,谢谢
后续我也会考虑写nonebot插件开发教程,具体看呼声大不大了
最后感谢您的耐心阅读,我们下期再见