ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

基于cqhttp的QQ私信及群聊机器人制作(一)

2021-11-30 19:30:48  阅读:557  来源: 互联网

标签:私信 QQ 群聊 load cqhttp toml nonebot go import


跟随川川大佬: @川川菜鸟 一起制作属于自己的机器人吧!川川的视频教程直通车: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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有