python搭建qq聊天机器人极简教程(代码片段)

Mr数据杨 Mr数据杨     2023-03-30     250

关键词:

为了方便管理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 

python从环境搭建到写出聊天机器人--保姆级教程,深入浅出带图详细流程(代码片段)

...;本文将会从环境的搭建教大家一步步完成一个Ai智能回复机器人的制作,只需要这一篇文章哦,环境的搭建也会教大家如何激活使用IDE——PyCharm!认真看完你会有收获的!!!🐍环境搭建一、下载Pytho... 查看详情

python快速搭建自动回复微信公众号(代码片段)

...信公众号在之前的一篇文章Python利用AIML和Tornado搭建聊天机器人微信订阅号中用aiml实现了一个简单的英文聊天机器人订阅号。但是只能处理英文消息,现在用图灵机器人来实现一个中文的聊天机器人订阅号。这里主要介绍如... 查看详情

制作人工智能qq机器人,视频教程+源码,内容超级丰富,慢慢看!(代码片段)

...列教程,推荐的一定是好的!一.前言介绍要看二.机器人演示1.图片功能2.视频功能3.消息功能(知乎)4.智能聊天功能三.b站视频教程四.b站主页推荐系列教程,推荐的一定是好的!十万字python基础教程,... 查看详情

qq机器人制作教程,超详细!(代码片段)

目录前期准备1、机器人框架的下载和配置2、python的配置和安装具体实现1、发送信息2、获取群成员列表3、接收上报的事件4、实现简单的自动回复下一篇文章实现更多功能写在最后最新功能请看下一篇文章:搭建一个QQ机器... 查看详情

基于mirai搭建qq机器人监控b站直播(代码片段)

搭建自定义Mirai机器人周末本来想继续学Vue来着,这不又搞这个了,唉,这计划赶不上变化啊。参考文档mamoe/mirai:高效率QQ机器人支持库Gradle下载的依赖jar包在哪?-简书基于MIRAI的QQ机器人-知乎IntelliJIDEA2021.3高版本... 查看详情

基于mirai搭建qq机器人监控b站直播(代码片段)

搭建自定义Mirai机器人周末本来想继续学Vue来着,这不又搞这个了,唉,这计划赶不上变化啊。参考文档mamoe/mirai:高效率QQ机器人支持库Gradle下载的依赖jar包在哪?-简书基于MIRAI的QQ机器人-知乎IntelliJIDEA2021.3高版本... 查看详情

python机器人-qq机器人-查询qq报价?来看看你的qq值多少钱!(代码片段)

...xff0c;大家可以自己做一个用来查看QQ价格,丰富自己QQ机器人的功能呢!什么?你不会QQ机器人?那就看我上一篇论文呢!QQ机器人搭建 开始制作这个插件确实并不难!这是获取用户输入用爬虫爬下来的j 查看详情

教程万字长文保姆级教你制作自己的多功能qq机器人(代码片段)

...访问原文:万字长文保姆级教你制作自己的多功能QQ机器人-小锋学长生活大爆炸​​​​​​目录前言功能清单免费领取轻量应用云服务器SSH连接服务器常见Ubuntu软件安装与问题修复搭建mirai环境Python控制mirai篇debug输出封装... 查看详情

使用socket.io搭建一个实时聊天机器人(代码片段)

一、安装socket.ionpmisocket.io--save二、使用第一种:服务端使用原生node//创建http服务器consthttp=require('http')varfs=require('fs')constapp=http.createServer()app.on('request',(req,r 查看详情

python如何使用图灵的apikey搭建聊天机器人?

...+info response=getHtml(request) dic_json=json.loads(response) print'机器人:'.decode('utf-8')+dic_json['text'] 查看详情

python3-学习之linux极简教程(学习准备)(代码片段)

前言:此篇文章是为Python学习做铺垫,主要学习内容:01.操作系统历史概述02.购买和连接云服务器03.Bash和Linux命令04.获取命令的帮助05.文件操作相关命令-106.文件操作相关命令-207.使用包管理工具安装软件08.配置阿里云防火... 查看详情

用tensorflow框架搭建基于seq2seq-attention的聊天机器人(代码片段)

Tensorflow版本:GPU:1.12.0理论部分:参考:https://www.bilibili.com/video/av19080685,讲解的超级详细。代码部分:1、语料库预处理2、搭建模型计算图3、启动session会话,进行模型训练。文件夹图示如下:其中data文件夹存储对话语料,ids文... 查看详情

nlp开发python实现聊天机器人(alice)(代码片段)

1、简介简单来说,聊天机器人是一种可以模拟和处理人类会话(无论是书面还是口头会话)的计算机程序,让人能够与数字设备交互,就像和真人交流一样。不同聊天机器人的复杂度各不相同,简单如通过单行响应回答简单查... 查看详情

python使用图灵机器人实现微信聊天功能(代码片段)

  首先需要去图灵官网创建一个属于自己的机器人然后得到apikey。一、自动与指定好友聊天#-*-coding:utf-8-*-"""Createdat2019-3-2611:50:49"""fromwxpyimportBot,Tuling,embed,ensure_onebot=Bot()my_friend=ensure_one(bot.search(‘张三‘))#想和机器人聊天的好... 查看详情

小伙用python编写qq机器人和女朋友聊了一下午都没被发现?(代码片段)

...是QQBot,是一个用python实现的、基于腾讯SmartQQ协议的简单QQ机器人,可运行在Linux和Windows平台下,所有代码集成在一个qqbot.py文件中,你可以用来实现:监控、收集QQ消息自动消息推送聊天机器人不足的地方是,每次登陆的... 查看详情

今天大佬教你用python调用两个机器人聊天(代码片段)

现在网上有很多非常智能(智障)的AI机器人接口,利用这些接口,我们可以实现一个机器人,可以和它对话聊天,为了增加机器人聊天内容的趣味性,今天我决定要搞两个机器人,看它俩聊天࿰... 查看详情

最新青龙面板一键搭建及拉库脚本教程----jd挂机一体化平台搭建之篇一2022.11.29(代码片段)

...果(上车地址):http://jdbean.tk​​​​​​QQ机器人搭建效果 ,可以发送“菜单”、“登录”、“查询”等指令可以一起交流讨论​​​​​​​作者使用的各插件包括:1.青龙面板2.傻妞机器人sillyGirl3.QQ登... 查看详情

nlp开发python实现聊天机器人(chatterbot)(代码片段)

...现中文、英文分词🎈🎈【NLP开发】Python实现聊天机器人(ELIZA))🎈🎈【NLP开发】Python实现聊天机器人(ALICE)🎈🎈【NLP开发】Python实现聊天机器人(ChatterBot)🎈🎈... 查看详情