NoneBot结合CQHTTP 协议来实现qq机器人

我看到好多大群里都有机器人,但不是腾讯自带的那种哈,像这样

图片

可以用自己编写脚本来控制机器人的功能。像获取b站关注的的信息,看看自己喜爱的up主什么时候更新了视频。如果更新了,就第一时间通过机器人推送给自己。当然,机器人也可以方便管理去群。比如,可以自己编写自己的插件。来方便群友。当然,这些就是自己发挥了哈!

官方也有提供自己的插件啦

图片

那么废话不多说,先上个官方文档NoneBot (baka.icu)

1. 接下来,嘿嘿,我就来教大家怎么安装nonebot并运行吧

首先呢,你得有个go-cqhttp。文档在此go-cqhttp 帮助中心.。这是个go-cqhttp框架,这个要和NoneBot配合使用。下好以后配置一下

至于如何配置,请自行百度一下哈!

图片

这里呢,教你简单配置一下哈,选择的时候选择反向ws连接。那个config.yml的配置文件这样配置一下

图片

主要是那个反向连接的地址。就是那个universal。填好以后,进行登录。

登录完成后,大概是这样

图片

如果出现这个的话,那么恭喜你,你的第一步顺利完成!

图片

2.那么我们终于可以开始第二步了哈,嘻嘻。

第二步就是开始配置NoneBot啦。首先,创建一个文件夹,用cd切换到此文件夹里面。创建一个nonebot项目。先说明呀。你要先安装NoneBot。

pip install nb-cli

这个是安装命令。

文档里面都有,如果报错,请自行观看文档。如果还是报错,请仔细阅读文档。
                                                                                    ————佚名

安装后。创建一个nonebot

nb create

创建的时候,会问你几个问题,大概就是你的这个机器人叫啥,你存放插件的文件夹叫啥,你要使用啥框架。框架肯定是选CQHTTP 。

创建完了大概是这样

那个.env.dev改一下。改成你自己要的链接和端口。

HOST=127.0.0.1
PORT=8080
DEBUG=true

那个host是你的本地ip,这里默认是开启本地服务。port就是端口。要是你部署服务器上也可以这么搞,其实差不多的。把CQHTTP 也部署到服务器上。

部署完了之后,就可以直接运行bot.py了。但是。。。。

图片

我掐吃一算哈,你肯定还会有错误。嘿嘿

不是少了什么模块,就是路径不对。

这里呢,我自己做个一个可以正常运行的哈

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import nonebot
from nonebot.adapters.cqhttp import Bot as CQHTTPBot
# Custom your logger
#
# from nonebot.log import logger, default_format
# logger.add("error.log",
#           rotation="00:00",
#           diagnose=False,
#           level="ERROR",
#           format=default_format)
# You can pass some keyword args config to init function
nonebot.init()
app = nonebot.get_asgi()
driver = nonebot.get_driver()
nonebot.load_builtin_plugins()
driver.register_adapter("cqhttp", CQHTTPBot)
nonebot.load_builtin_plugins()
# Please DO NOT modify this file unless you know what you are doing!
# As an alternative, you should use command `nb` or modify `pyproject.toml` to load plugins
nonebot.load_plugins("src/plugins")#我知道你的开始不是这样,差不多的。我这是直接到这个文件夹路径找脚本
# Modify some config / config depends on loaded configs
#
# config = driver.config
# do something...
if __name__ == "__main__":
   nonebot.logger.warning("Always use `nb run` to start the bot instead of manually running!")
   nonebot.run(app="__mp_main__:app")

当然,你可能还会保存。说缺少啥模块的。你就手动装一下哈

图片

如何还有问题欢迎加入交流群342096685

嘿嘿,时不时水一下文章,嘿嘿

猜你喜欢

转载自blog.csdn.net/qq_59848320/article/details/121172687