首页 > 其他分享 >用NoneBot2搭建QQ机器人(保姆级教程)

用NoneBot2搭建QQ机器人(保姆级教程)

时间:2025-01-22 20:27:40浏览次数:3  
标签:QQ NoneBot2 教程 Python 机器人 插件 安装 输入

目录

一、前言

Nonebot2

        主播主播,有没有既简单又方便的QQ机器人框架啊?有的兄弟,有的。NoneBot2 是一个现代、跨平台、可扩展的 Python 聊天机器人框架,它基于 Python 的类型注解和异步特性,能够为你的需求提供便捷灵活的支持,在开发聊天机器人方面具有诸多优势和特点。
        在一周之前我也是一个刚入坑的小白,文档看不很懂,各个平台的教程都比较旧了,寻找信息方面费了好大功夫。所以我想站在小白的角度,出一份保姆级教程,为了方便理解,而不是直接生搬硬套,我会对一些专业术语进行简洁的解释,安利一波!(当然,在不久的将来,这个教程可能也会落后,哈哈)

官方QQ群:768887710
官方文档:https://nonebot.dev
GitHub项目地址(可能需要魔法):https://github.com/nonebot

二、 QQ机器人搭建教程

        注意:在搭建QQ机器人之前必须先安装好Python,也就是必须在Python环境下才可以搭建,并且Python的版本必须>=3.9。

(一)安装pipx

        pipx是一个用于在隔离环境中安装和运行 Python 应用程序的工具,它旨在解决在系统范围内安装 Python 包可能导致的依赖冲突和环境混乱问题。
        win+R输入cmd进入命令提示符,依次输入以下两条命令,一条一条输入哈,成功后先别急着关闭命令提示符

python -m pip install --user pipx
python -m pipx ensurepath

(二)安装脚手架nb-cli

        脚手架原本是建筑工程中为了保证施工人员安全和方便施工而搭建的临时设施,在软件开发中,它是一种可以为开发者提供项目基础结构和基本功能的工具或框架,能够帮助开发者快速搭建项目的初始架构。
        继续在命令提示符中,接着输入以下命令,成功之后关闭命令提示符

pipx install nb-cli

(三)创建项目

       前两步已经把环境搭建好了,现在开始创建一个自己的机器人项目。随便在一个位置新建一个文件夹,任意一个盘或者桌面 都行(这里我创建了一个NoneBot2文件夹),进入文件夹,然后在此路径下输入cmd然后回车进入命令提示符输入以下指令:

nb

1、然后选择创建一个 NoneBot 项目
2、然后选择simple(插件开发者)(这里很多教程都会让新手选bootstrap,确实方便简洁,但都是新手了,肯定是啥都不懂,再简洁也看不懂。因为很多大佬他们选择的都是bootstrap,这个可以自己开发插件,而simple是只能安装官方插件商店的。大佬们往往不太了解simple,所以为了方便问大佬问题,推荐用simple,下面我也会简洁介绍一下simple的结构)
3、输入项目名称,也就是你机器人的文件名,过一会会生成一个你输入项目名称的文件夹,里面就是构成机器人的文件(为了以后不容易出错,尽量输入英文,这里我输入为George)
4、适配器选择 OneBot V11(OneBot V11 协议)(注意:这里不能直接回车选择,直接回车的话就是空选,要先把前面那个圆点点了,如果不小心直接回车空选了也没事,后面会提示让你确认一下。适配器和下面的驱动器都可以多选,不同的插件对适配器和驱动器要求不同,如果你以后安装的插件需要其他的适配器和驱动器,需要再安装,这也就是可以多选的原因,但我们刚创建,只选这一个常用的就行)
5、选择驱动器,也就选一个常用的默认的FastAPI (FastAPI 驱动器),这里圆点本来就是饱满的,所以就直接回车就行,
6、选择插件存储位置,选择在“src”文件夹中,也就是以后你自己开发的插件要放在这,只有放在这里,插件才能运行。不过这里只放自己开发的,在官方插件商店里下载的插件可不在这,下面会讲。选择存在src中,是为了清晰分明,避免与其他文件混淆。
7、立即安装依赖?:输入Y。在 NoneBot2 中,依赖是一种用于处理事件处理函数的前置条件和数据准备的机制。通过使用依赖,Nonebot2 可以更方便地管理事件处理函数的前置条件和数据准备,提高代码的可维护性和可扩展性,同时也可以使代码结构更加清晰,将不同的功能模块分离,降低代码的耦合度。
8、创建虚拟环境?:输入Y。Nonebot2 机器人项目通常会使用大量的第三方库和插件,这些库和插件可能对特定 Python 包的版本有不同的要求。例如,一个插件可能需要 numpy 的 1.18 版本,而另一个插件可能需要 numpy 的 1.20 版本。如果将它们安装在系统的全局 Python 环境中,就会产生冲突,导致某些插件无法正常工作。通过创建虚拟环境,可以为每个 Nonebot2 项目创建独立的依赖环境,在不同的虚拟环境中安装不同版本的 numpy,使得各个项目的依赖能够互不干扰,确保每个插件和整个 Nonebot2 项目都能正常运行。也就是说在虚拟环境中下载的库只在这个环境中,环境一删,里面下的所有东西都没了。
9、选择内置插件:就选择一个echo插件就行,内置插件是为了方便我们对机器人进行测试,看它是否在正常运行,等会安装好机器人要用它测试一下。(这里和适配器一样,要先使前面圆点饱满再回车,才算是选上)
在这里插入图片描述
出现上面界面就说明创建成功,关闭命令操作符即可。

三、使用Lagrange协议端登录QQ

        机器人程序配置好了,那么怎么将你的QQ号登录到机器人上,进行绑定呢,用Lagrange,安装配置Lagrange的方法看这个博主的教程,讲的挺好的:https://blog.csdn.net/m0_66648798/article/details/141038846

四、运行机器人

        进入你机器人项目的文件夹,输入cmd进入命令提示符,输入nb run就能运行了(注意:Lagrange和机器人运行窗口均不能关闭)
运行之后,可以利用安装的内置插件echo进行测试,看机器人运行是否正常,这是个复读机插件,会复读一下你发的信息。echo插件私聊中触发的默认文字格式是/echo 文本,而在群聊中的默认格式是/echo 文本@机器人。如下图:
私聊

私聊
群聊
群聊

五、补充(主要是某些文件夹的作用)

注意:我一开始创建的文件夹在C盘,命名为NoneBot2,项目名称叫George,我下面提到的路径请依照自己前面所填写的内容一一对应
1、以后自己开发的插件存放位置:C:\nonebot2\George\src
2、在插件商店安装的插件所处位置C:\nonebot2\George\.venv\Lib\site-packages(插件的文件名一般都是
以nonebot_plugin_开头)

六、结语

        以后会出服务器部署和安装官方插件商店中的插件的教程。然后请大家谨慎娱乐QQ机器人,此行为违反了《QQ 软件许可及服务协议》,腾讯检测到会封号,不过这完全看脸,有的人玩了几年都不封,有的人刚装上第二天就被封了一次,比如我:封号斗罗

标签:QQ,NoneBot2,教程,Python,机器人,插件,安装,输入
From: https://blog.csdn.net/2402_86265887/article/details/145268763

相关文章

  • 【渗透测试】漏洞扫描AWVS安装使用教程,三分钟手把手教会,非常简单
    一、AWS简介AcunetixWebVulnerabilityScanner(简称AWVS)是一个自动化的Web漏洞扫描工具,它可以扫描任何通过Web浏览器访问和遵循HITP/HTTPS规则的Web站点。AWVS原理是基于漏洞匹配方法,通过网络爬虫测试你的网站安全,检测流行安全AWVS可以检测什么漏洞,它有什么优势?AWVS......
  • IntelliJ IDEA 2022.2 下载安装及激活破解教程
    声明:本教程IntelliJIDEA2022.2破解补丁、激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除。若条件允许,希望大家购买正版!2022年10月5日 Jetbrains发布了 IDEA2022.2.3 ,今天分享下IntelliJIDEA2022.2以下所有版本包含收费插件以及 Jrebel插件的......
  • Xshell 7 绿色免安装版下载及使用教程
    Xshell是一款功能强大的终端模拟器,支持SSH1,SSH2,SFTP,TELNET,RLOGIN和SERIAL。通过提供业界先进的性能,Xshell包含了其他SSH客户端无法发现的功能和优势。xftp是一个基于MSwindows平台的功能强大的SFTP、FTP文件传输软件。使用了Xftp以后,MSwindows用户能安全地在UNIX/Linu......
  • typora免激活且最新版(最新的最新)安装教程
    typora免激活且最新版(最新的最新)安装教程文章目录typora免激活且最新版(最新的最新)安装教程效果展示操作步骤1下载dev/beta版2更新题外话效果展示下面点“以后再说”就可以正常使用了(开机一次就出现一次)操作步骤1下载dev/beta版打开浏览器输入:https://ww......
  • 小智带货助手如何制作视频素材教程
    要想生成质量较好的视频,素材是必不可的。素材画面和文案内容的相关贴合度,会直接影响到平台对视频质量的判定,也会影响用户的观看体验。比如,视频文案是讲的情感鸡汤,视频素材画面却是某个喜剧影视片段或者其他毫无相关的,那么这样的视频必定难以获得流量;而如果素材画面是比较孤独的......
  • flutter入门系列教程<一>:tab组件的灵活妙用
    文章目录说明区分TabBarView组件TabBarViewTabBar实例需求升级写在中间的tabbar组件封装组件组件说明组件用法示例常规的tabbar封装常规用法说明前提:假设你已初步了解了flutter和dart语言,并且知道怎么创建一个简单的项目;学习本文后,你将掌握:tab组件的用法;组件的......
  • DVWA靶场XSS漏洞通关教程及源码审计
    XSS漏洞XSS(跨站脚本攻击,Cross-SiteScripting)是一种安全漏洞,通常发生在Web应用程序中。XSS漏洞允许攻击者把恶意脚本注入到内容中,这会在其他用户的浏览器中执行。这种攻击可能导致用户会话被劫持、网站内容被修改、用户敏感信息被窃取等多种安全问题。常见的XSS类型包括:存......
  • 2025 最新 JetBrains IDEA 激活教程 (1月22日更新)
    最近JetBrains许可证过期了,本着学习的态度以 IntelliJIDEA 为例尝试了几种破解方案。当然ja-netfilter插件确实是较为完美的方案,完美破解JB全家桶。但本着不破坏程序本质,本教程从激活的角度来研究如何获得正版的JetBrains授权。推荐方法访问:https://idea.hacks.t......
  • 数学建模学习-朴素贝叶斯分类器(Naive Bayes Classifier)教程(31)
    数学建模学习-朴素贝叶斯分类器(NaiveBayesClassifier)教程(31)写在最前注意本文的相关代码及例子为同学们提供参考,借鉴相关结构,在这里举一些通俗易懂的例子,方便同学们根据实际情况修改代码,很多同学私信反映能否添加一些可视化,这里每篇教程都尽可能增加一些可视化方便同......
  • 请问寻找网站模板修改的教程图片,以便更好地理解修改过程
     网站模板修改教程通常包含大量的图片,帮助用户更好地理解修改过程。以下是一些常见的教程图片类型:图片类型描述模板结构图展示模板的文件结构和各个文件的作用后台管理界面展示网站后台管理系统的界面和功能标签使用示例展示如何使用模板标签生成动态内容C......