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

语言在线考试与学习交流网页平台信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】

语言在线考试与学习交流网页平台信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】

系统架构设计### 摘要 随着信息技术的快速发展,在线教育逐渐成为教育领域的重要组成部分。传统的线下考试和学习交流方式受限于时间和空间,难以满足现代教育的灵活性和高效性需求。在线考试与学习交流平台能够突破地理限制,提供实时互动、自动阅卷、数据分析等功能,极大提升了教学效率和用户体验。同时,随着大数据和人工智能技术的普及,智能化在线学习系统成为研究热点。本系统旨在开发一个功能完善的在线考试与学习交流平台,集成考试管理、学习资源分享、实时交流等功能,为教师和学生提供便捷的在线学习和评测工具。关键词:在线教育、考试系统、学习交流、SpringBoot、Vue。 本系统采用前后端分离架构,后端基于SpringBoot框架实现业务逻辑和数据处理,前端使用Vue.js构建动态交互界面,数据库采用MySQL存储用户信息、考试数据和学习资源。系统功能模块包括用户管理、在线考试、试题库管理、成绩分析、论坛交流等。用户管理模块支持多角色权限控制,确保教师和学生操作的安全性;在线考试模块支持自动组卷、限时答题和自动评分;论坛交流模块提供实时讨论和资源共享功能。系统采用RESTful API实现前后端数据

零代码构建企业级Web交互界面:Dify工作流实战指南

零代码构建企业级Web交互界面:Dify工作流实战指南 【免费下载链接】Awesome-Dify-Workflow分享一些好用的 Dify DSL 工作流程,自用、学习两相宜。 Sharing some Dify workflows. 项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Dify-Workflow 你是否还在为复杂的Web开发技术栈望而却步?是否因缺少前端开发资源而无法实现用户友好的交互界面?是否想在不编写一行代码的情况下构建企业级登录验证系统?Dify工作流为你提供了全新的解决方案,让你通过可视化配置即可打造专业的Web交互体验。本文将详细介绍如何利用Dify工作流的强大功能,从零开始构建企业级Web交互界面,无需任何前端开发经验,让你专注于业务逻辑而非技术实现。 【核心价值】为什么选择Dify工作流构建Web交互界面 Dify工作流作为一款强大的可视化开发工具,为企业级Web交互界面构建带来了革命性的变化。它不仅消除了传统开发模式中的技术壁垒,还极大地提升了开发效率,同时保证了系统的安全性和可扩展性。