基于cqhttp的QQ私信及群聊机器人制作(一)
作者:互联网
跟随川川大佬: @川川菜鸟 一起制作属于自己的机器人吧!川川的视频教程直通车:python机器人完整制作过程(1)_哔哩哔哩_bilibili
蓝多多的小仓库实践记录博文
1、使用pip安装相应包
1)配置镜像源请参考:
Pycharm配置镜像源(长期有效)_蓝多多的小仓库-CSDN博客
2)在Terminal中输入:
pip install pydantic loguru pygtrie httpx python-dotenv uvicorn fastapi requests selenium aiocqhttp ffmpeg aiohttp nb-cli nonebot2 nonebot-plugin-apscheduler nonebot-adapter-cqhttp -i https://pypi.tuna.tsinghua.edu.cn/simple
3)安装过程实例:这里可以使用如下代码进行测试:
import nonebot
from nonebot.adapters.cqhttp import Bot as CQHTTPBot
nonebot.init()
看看是否安装成功,若成功,则如下图右边所示:
2、在控制台输入指令nb配置相应工程
1)输入nb,回车
2)选择Create a New NoneBot Plugin,回车并填写相应的工程名
3)选择 In a "src" folder,回车
4)选择cqhttp,回车
5)输入y,回车
3、go-cqhttp 文件的下载与安装
1)下载 go-cqhttp release文件
go-cqhttp release文件下载地址: https://github.com/Mrs4s/go-cqhttp/releases/
如有github无法访问的问题请参考:https://blog.csdn.net/qq_43554335/article/details/121570391
链接:https://pan.baidu.com/s/1JLpVh9nhTqAszjr9GItnKA
提取码:haed
2)将下载的压缩包解压,放到机器人工程目录下(我的是lddrobot)
3)进入go-cqhttp_windows_amd64文件,按住shift + 右键 打开Powershell,窗口输入命令:
.\go-cqhttp.exe
选择12345,会生成一个config.yml文件:
4、修改.env文件
1)修改.env文件的ENVIRONMENT为prod
2)因为8080端口容易被占用,所以修改.env.dev的PORT为8081
3)同时,修改.env.prod的PROT为8081
5、修改config.yml文件
1)填写QQ群机器人qq及密码
2)启用正向ws
3)启用反向ws
4)设置反向ws Universal地址(这里端口号是8081哈,图里我没改,请改成8081)
6、修改bot.py代码
1)导入模块
import nonebot
from nonebot.adapters.cqhttp import Bot as CQHTTPBot #导入模块
2)添加插件
nonebot.load_plugins("src/plugins") #添加插件
3)注册cq
driver.register_adapter("cqhttp",CQHTTPBot) #注册cq
4)注释掉nonebot.load_from_toml("pyproject.toml")这行
#nonebot.load_from_toml("pyproject.toml") #注释掉
5)完整代码
#!/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()
nonebot.load_plugins("src/plugins") #添加插件
app = nonebot.get_asgi()
driver = nonebot.get_driver()
driver.register_adapter("cqhttp",CQHTTPBot) #注册cq
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_from_toml("pyproject.toml") #注释掉
# 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")
7、运行并测试
1)运行bot.py
2)在Power shell中输入 .\go-cqhttp.exe 运行go-cqhttp.exe(如果你之前填了QQ及密码则会自动登录,如果没填需要扫码登录嗷)效果如图:
2)测试结果:(这只是小白机器人制作的起步,后续会有更加复杂的功能加入)
标签:私信,QQ,群聊,load,cqhttp,toml,nonebot,go,import 来源: https://blog.csdn.net/qq_43554335/article/details/121639773