目录

  • 前言
  • QQ机器人功能展示
  • 一、安装nonebot2
    • 安装步骤
    • 建立一个新的机器人项目
  • 二、安装go-cqhttp
    • 安装步骤
    • 修改配置
  • 三、使用

前言

相信大家都有在QQ群见过QQ机器人,可以玩游戏、推送当日天气情况等。本文将基于nonebot2和go-cqhttp构建一个自定义的QQ机器人。

QQ机器人功能展示

查询天气

微博博文

制作表情包

一、安装nonebot2

请确保你的电脑上要安装了Python的开发环境,没有安装的看这条:如何在VScode上配置Python的开发环境?
请确保你的Python版本>=3.8

nonebot2介绍: NoneBot2 是一个现代、跨平台、可扩展的 Python 聊天机器人框架,它基于 Python 的类型注解和异步特性,能够为你的需求实现提供便捷灵活的支持。

文档网址:https://nb2.baka.icu/docs/

安装步骤

在电脑左下角搜索cmd并打开,接下来将在cmd输入命令来进行安装。
1、安装NoneBot2

安装 nb-cli,NoneBot2 会作为其依赖被一起安装

pip install nb-cli

2、安装驱动器

查看所有驱动器

nb driver list

输出

FastAPI ()                  - FastAPI 驱动器
Quart (quart)               - Quart 驱动器
HTTPX (httpx)               - HTTPX 驱动器
websockets (websockets)     - websockets 驱动器
AIOHTTP (aiohttp)           - AIOHTTP 驱动器

安装HTTPX驱动器,这是我们目前所需要的

nb driver install httpx

3、安装协议适配器

查看所有协议适配器

nb adapter list

输出

OneBot V11 (nonebot-adapter-onebot)     - OneBot V11 协议
钉钉 (nonebot-adapter-ding)             - 钉钉协议
飞书 (nonebot-adapter-feishu)           - 飞书协议
Telegram (nonebot-adapter-telegram)     - Telegram 协议
QQ 频道 (nonebot-adapter-qqguild)       - QQ 频道官方机器人
开黑啦 (nonebot-adapter-kaiheila)       - 开黑啦协议适配
mirai2 (nonebot_adapter_mirai2)         - 为 nonebot2 添加 mirai_api_http2.x的兼容适配器
OneBot V12 (nonebot-adapter-onebot)     - OneBot V12 协议
Console (nonebot-adapter-console)       - 基于终端的交互式适配器
GitHub (nonebot-adapter-github)         - GitHub APP & OAuth APP integration
Ntchat (nonebot-adapter-ntchat)         - pc hook的微信客户端适配

安装协议适配器,目前只需要onebot

nb adapter install nonebot-adapter-onebot

4、安装第三方插件

就是安装别人制作的机器人功能插件,现阶段可以不下载,之后想下哪个下哪个

查看所有发布的插件

nb plugin list

输出

nonebot物联网插件 (nonebot-plugin-iot)                                                            - 为nonebot接入物联网提供方案,目前支持天猫精灵终端,后续会增加
BWIKI助手移植版 (nonebot-plugin-bwiki-navigator)                                                  - BWIKI助手机器人Nonebot2插件移植版
漂流瓶 (nonebot-plugin-bottle)                                                                    - 群与群互通的漂流瓶插件
gal角色语音生成 (nonebot-plugin-tts-gal)                                                          - 能够根据发送角色名和文本生成对应角色语音
阿里云盘福利码自动兑换 (nonebot-plugin-alicdk-get)                                                - 基于nonebot2与aligo的阿里云盘兑换码自动获取和兑换插件。
PicStatus (nonebot-plugin-picstatus)                                                              - 服务器运行状态图片版
图灵机器人 (nonebot-plugin-tuling)                                                                - 接入图灵机器人做聊天
在线编曲 (nonebot_plugin_makemidi)                                                                - 发送简谱生成音乐
文字识别 (nonebot-plugin-ocr)                                                                     - 识别图片中的文字
监听者 (nonebot-plugin-listener)                                                                  - 监听指定消息并转发到指定群
BiliRequestAll (nonebot-plugin-BiliRequestAll)                                                    - 通过B站UID审核入群
真白萌自动签到 (nonebot-plugin-masiro)                                                            - 帮你每天在真白萌签到,助力成为二次元婆罗门!
轮盘禁言小游戏 (nonebot-plugin-russian-ban)                                                       - 轮盘禁言小游戏,附送快捷禁言/解禁
监测群事件 (nonebot-plugin-monitor)                                                               - 监测群成员变动、文件上传、红包运气王、管理员变动等等...

有很多,自行下载

nb plugin install <plugin-name>

比如下载上面输出的最后一个插件——检测群事件

nb plugin install nonebot-plugin-monitor

建立一个新的机器人项目

1、新建项目

在cmd输入

nb create

回车后会出现以下界面
输入项目名称,我的是QQBot

Project Name: QQBot

哪里存储插件,这里选择src下放插件,↑键和↓键移动,回车(Enter)确定

Where to store the plugin? 2) In a "src" folder

选择哪个内置插件,这里选择echo,↑键和↓键移动,空格(Spare)选择,回车(Enter)确定,一定要你选完后面出现echo才是选中了

Which builtin plugin(s) would you like to use? echo

选择哪个适配器,这里选择OneBot V11,↑键和↓键移动,空格(Spare)选择,回车(Enter)确定,一定要你选完后面出现OneBot V11才是选中了

Which adapter(s) would you like to use? OneBot V11

和我一样选就好
填完回车后当前目录下会出现一个名为QQbot(就是你起的项目名称)的文件,打开该文件

2、修改文件配置

该文件的结构

跑一下bot.py

运行成功,接下来我们修改一下配置

.env文件 [必改]

原本

ENVIRONMENT=dev

修改为

ENVIRONMENT=prod

.env.prod文件 [可选]
这里是配置你连接的端口号,默认8080,想改就改,不改就不管

二、安装go-cqhttp

go-cqhttp介绍: 使用 mirai 以及 MiraiGo 开发的 cqhttp golang 原生实现。

官方文档网址: https://docs.go-cqhttp.org/

github地址:https://github.com/Mrs4s/go-cqhttp/releases

安装步骤

请直接点击github地址下载go-cqhttp:

Windows系统直接下载go-cqhttp_windows_amd64.zip

下载完后解压,里面会有这三个文件

点击运行go-cqhttp.exe,可能会有些电脑保护不让运行,那么就在当前目录下右键,打开power shell

在打开的终端中输入

.\go-cqhttp.exe

在输出中选择 3

回车后会生成一个配置文件

此时我们的文件夹多出来的config.yml这个文件就是配置文件

修改配置

打开config.yml文件(可以右键直接用记事本打开)

最前面就是配置你的qq账号,可以不管,运行的时候就会直接扫码登陆

直接划到文件的最底下,找到反向ws配置

将universal修改为上图中的

ws://127.0.0.1:8080/onebot/v11/ws/

保存,退出,再次运行go-cqhttp.exe
没有配置密码直接扫码登陆

扫码成功登陆

三、使用

go-cqhttp成功登陆后不要关闭窗口,再次运行bot.py,直至连接成功

恭喜!!!你的机器人已经配置完成,可以运行啦!

发送

/echo 你好

测试你的机器人

接下来就是给你的机器人多加点功能插件,可以自己写,也可以直接用别人的(上面提到的直接在商店下载),我将在接下来的文章里讲解如何制作插件和分享我自己写的插件。
下文:【保姆级】QQ机器人插件

【最新】半小时教你制作出属于自己的QQ机器人【保姆级】相关推荐

  1. 万字长文保姆级教你制作自己的多功能QQ机器人

    转载请注明出处:小锋学长生活大爆炸(https://xfxuezhang.blog.csdn.net/) 若发现存在部分图片缺失,可以访问原文:万字长文保姆级教你制作自己的多功能QQ机器人 - 小锋学 ...

  2. plsql 为空显示 0 的函数_不加班只加薪!从0到1教你制作出入库进销存表格

    出入库表应用十分广泛,是每个公司都用到的表格,下面我们来看看怎么从一张空白表一步一步实现<出入库表>的制作,目的是做到只需要记录出库入库流水,自动对库存及累计出入库数量进行计算.实时统计. ...

  3. ❤️周末爆肝两天❤️,万字长文,手把手教你配置CSDN主页的独特域名(保姆级教程,建议收藏)

    ❤️ 感受下效果图 ❤️ 目录 一.前言 二.先解决有没有的问题 1. 前置条件 2. 购买云服务器 3. 购买DNS域名 4. 配置Apache2服务 5. 配置云服务器的端口映射 6. 配置ngi ...

  4. 手把手教你使用Hugo搭建个人博客网站|保姆级教学

    搭建个人博客网上目前用的比较多的博客框架是Hexo.Hugo.Jekyll.本文详细介绍利用最新的Hugo(基于Go语言的博客框架)在windows上搭建个人博客网站,从域名注册到后期维护,全程保姆级 ...

  5. 半小时教你做大转盘游戏(QT篇)

    本文讲述如何在linux系统使用QT开发一个简易的大转盘游戏. 操作系统:uos.debian qt版本:Qt version 5.11.3 大转盘的制作其实很简单,大转盘的整体思想是这样, 1.定时 ...

  6. 一文3000字教你实现Airtest测试中文字识别【保姆级教程】

    Airtest是一款 基于图像识别原理 的跨平台UI自动化测试框架,它能够根据大量的 特征点 来识别一个截图在当前画面中的位置,但是它并不能识别出截图中具体包含了什么文字. 而在自动化测试的过程中,我 ...

  7. 最新京东短信登录+傻妞机器人保姆级部署教程(2022/9/8)

    MaiARK作者发布了京东网页登录一键部署脚本,感兴趣去装了一下,测试效果特别好,嘎嘎好用

  8. 『PHP』手把手教你使用phpstorm+xdebug调试php代码(保姆级教程)

    文章目录 前言 搭建调试用服务器 配置phpstorm项目和php.ini 接入调试 ①浏览器调试(推荐) ②phpstorm调试 完 前言 环境基于: phpstorm 2020.1 phpstud ...

  9. 一年工作 3600 小时,被裁只要半小时

    2021 开年,拼夕夕热搜不断. 我在想拼夕夕的公关们都要感叹:2021 有点艰难. 回顾一下拼夕夕的这几天的热点: 2020 年 12 月 29 日 23 岁拼夕夕员工凌晨回家路上猝死... 后来知 ...

  10. 用Python制作QQ机器人聊天插件(1)

    目录 制作插件 1.找到插件文件夹 搭建好我们的机器人环境后,打开放置机器人的文件夹,找到 src文件夹 打开后找到 2.填写代码 运行效果 上期博文介绍了QQ机器人框架搭建,这期介绍QQ机器人聊天插 ...

最新文章

  1. python多版本共存使用pip
  2. 2015年编程之美(资格赛) ---2月29日
  3. 利用计算机模拟人脑进行演绎,2014年4月自学考试计算机应用技术试题
  4. [Web开发] 微软的 PHP+IIS+WinServer 开发培训资料/示例代码
  5. 配置java环境变量
  6. vc6.0能编辑html,科学网—VC6.0的18个实用小技巧 - 梁才的博文
  7. MySQL流程控制函数-case结构
  8. 通过java api提交自定义hadoop 作业
  9. iconfont图标_除了iconfont,UI设计师还可以使用的免费图标库!
  10. 大神是如何装逼的 之 vim插件使用taglist和nerdtree
  11. 初始化Metasploit-Framework
  12. nod32 激活码 地址 NOD 32
  13. windows功能_windows必备的系统功能增强2具,免费,简单,实用
  14. 中国月球探测标识确定 寓龙的传人登月梦
  15. [转]94个比付费软件更好的免费软件
  16. 机器学习中的特征重要性 Feature Importance
  17. Maya2022和C4D哪个更好用?
  18. Python操作Excel(二)
  19. 动态模糊神经网络用于自学习
  20. 智联卓聘IM演进过程

热门文章

  1. Element-UI Select 下拉框 根据汉字拼音过滤选择选项(使用filter-method,filterable属性)
  2. 计算机桌面图标字变蓝色,桌面的图标都变蓝了怎么解决【解决方法】
  3. Python Network(二)绘图draw系列draw(),draw_networkx(),draw_networkx_nodes(),draw_networkx_edges()
  4. CMOS曝光时间、积分时间
  5. 无刷有感电机测速、速度闭环控制
  6. 卡耐基梅隆大学计算机科学课本,美国卡耐基梅隆大学计算机科学硕士.pdf
  7. 计算机大学老师简介,南开大学计算机学院导师教师师资介绍简介-李敏
  8. Ipone桌面计算机没了,苹果笔记本桌面图标不见了怎么办
  9. c++ 的interface
  10. HTTP代理的代理形式