Python搭建QQ聊天机器人极简教程
Posted Mr数据杨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python搭建QQ聊天机器人极简教程相关的知识,希望对你有一定的参考价值。
为了方便管理QQ粉丝群,想着弄一个机器人来进行自动回复,本来想着去某平台去购买结果发现都很贵而且是按年收费,可是群管家又不能满足大规模内容回复的需求,所以只能自己做一个咯。
先来看一下效果吧,我自己的粉丝群。
然后在后台配置跟中回复关键词。
然后咱来看一下这个怎么实现的。
文章目录
不管linux系统还是window系统,都需要准备1个挂机的QQ号,这个就相当于用一个不用的号来挂在服务器上实现自动回复的功能。
go-cqhttp 安装
go-cqhttp 插件 自行下载。
自行选择,如果懒可以直接用我做好的,系统环境是win10 + centos7.9。
这里建议在win端走配置好了,具体配置什么下面会说,然后在放到linux命令行里执行。
先创建一个单独的文件夹将下载的 exe 文件放到此文件夹中。执行 go-cqhttp_windows_amd64.exe 点击确认。
会看到生成了 go-cqhttp.bat 文件双击运行。选择 【3: 反向 Websocket 通信】,然后关闭 cmd 窗口。
然后在文件夹会生成了配置文件【config.yml 】。
go-cqhttp 配置
需要修改地方有那么几个。
1.第4行,配置 QQ 号。
uin: 改成你要挂机的QQ号 # QQ账号
2.第98行,Websocket 连接地址。
universal: ws://127.0.0.1:端口号随意/qqbot/
Websocket 服务
使用 sanic 来启动 Websocket 服务。
pip install sanic
启动 sanic 执行,创建一个你要执行的脚本,比如 server.py 。
import json
from sanic import Sanic
app = Sanic('qqbot')
base_path = "/onoebot/keyword/"
@app.websocket('/qqbot')
async def qqbot(request, ws):
"""QQ机器人"""
while True:
data = await ws.recv()
data = json.loads(data)
print(json.dumps(data, indent=4, ensure_ascii=False))
# if 判断是群消息且文本消息不为空
if data.get('message_type') == 'group' and data.get('raw_message'):
raw_message = data['raw_message']
if raw_message == "/菜单":
with open(base_path + "菜单.txt", encoding="utf8") as f:
msg = f.read()
ret =
'action': 'send_group_msg',
'params':
'group_id': data['group_id'],
'message': msg,
await ws.send(json.dumps(ret))
elif raw_message == "/群主介绍":
with open(base_path + "群主介绍.txt", encoding="utf8") as f:
msg = f.read()
ret =
'action': 'send_group_msg',
'params':
'group_id': data['group_id'],
'message': msg,
await ws.send(json.dumps(ret))
elif raw_message == "/群主主页":
with open(base_path + "群主主页.txt", encoding="utf8") as f:
msg = f.read()
ret =
'action': 'send_group_msg',
'params':
'group_id': data['group_id'],
'message': msg,
await ws.send(json.dumps(ret))
elif raw_message == "/Python学习目录":
with open(base_path + "Python学习目录.txt", encoding="utf8") as f:
msg = f.read()
ret =
'action': 'send_group_msg',
'params':
'group_id': data['group_id'],
'message': msg,
await ws.send(json.dumps(ret))
elif raw_message == "/开发项目":
with open(base_path + "开发项目.txt", encoding="utf8") as f:
msg = f.read()
ret =
'action': 'send_group_msg',
'params':
'group_id': data['group_id'],
'message': msg,
await ws.send(json.dumps(ret))
if __name__ == '__main__':
app.run(debug=True,port=5678,auto_reload=True)
配置关键词回复内容
根据上面的 server.py 进行配置。
代码和配置回复的内容以及关键字自行按照脚本修改即可。
启动机器人
这里要在win端执行,双击运行 go-cqhttp.bat 文件,根据提示扫码登录。登录成功后即可看到成功提示,且 Websocket 服务那边也会有日志产生了。
扫码登陆后会生成一个你这个QQ的登陆文件。
然后把这个机器人拉到你的QQ群里改个名字就可以了。
然后就可以实现文章最开头的自动回复功能了。
云服务器配置
将可以在本地执行的所有文件上传到服务器上,centos7用的是红色这个文件,需要自己手动下载。
进入服务器项目目录。
执行命令 ./go-cqhttp ,不报错就证明启动成功了。
最后也不要忘记用python执行server.py脚本,否则是没有办法实现自动回复功能的。
python3 server.py
❤️制作人工智能QQ机器人,视频教程+源码❤️内容超级丰富,慢慢看!
文章目录
- 推荐系列教程,推荐的一定是好的!
- 一.前言介绍要看
- 二.机器人演示
- 1.图片功能
- 2.视频功能
- 3.消息功能(知乎)
- 4.智能聊天功能
- 三.b站视频教程
- 四. b站主页
推荐系列教程,推荐的一定是好的!
十万字python基础教程,学不会主页联系找我!
python处理美女视频为gif详细教程
qq机器人制作系列讲解专栏qq机器人b站视频教程
三万字SQL数据库讲解系列
一.前言介绍要看
想要制作qq机器人?没错,而且还免费开源,重点是什么?免费! 这里我们不得不感谢我交大学长开发的框架了,实在太牛了,我们会用就行是吧,不要担心学不会,下面有视频教程。
什么?你想白嫖源码?又不是不可以,源码我都发了,在这里:
机器人专栏 你至少要看完我第一个视频,搭建好环境才能白嫖哈,当然我是建议你四个视频都跟着看一下。
感谢学长和项目组开源,下面是官方文档:包括go-cahttp,nonebot2,cqhttp下载地址
https://docs.go-cqhttp.org/
https://v2.nonebot.dev/guide/installation.html
cq下载地址:https://github.com/Mrs4s/go-cqhttp/releases/tag/v1.0.0-beta2
二.机器人演示
1.图片功能
2.视频功能
3.消息功能(知乎)
4.智能聊天功能
群:970353786
三.b站视频教程
个人录制教程,有问腿可以问我
python机器人完整制作过程(1)
python机器人教程(2)
python制作机器人(3)
手把手教你linux部署机器人和配置python
四. b站主页
你要是懒得在文章看视频,跳转b站主页:川川菜鸟
以上是关于Python搭建QQ聊天机器人极简教程的主要内容,如果未能解决你的问题,请参考以下文章
❤️制作人工智能QQ机器人,视频教程+源码❤️内容超级丰富,慢慢看!
制作人工智能QQ机器人,视频教程+源码,内容超级丰富,慢慢看!
利用python + qqbot + 聚合数据api 实现qq智能聊天机器人