文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

使用go-cqhttp搭建本地qq机器人 并实现发送信息案例(使用python)语言实现

2023-09-09 09:51

关注

目录

1.go-cqhttp简介

2.案例介绍

3.下载go-cqhttp

4.配置安装

①:下载之后我们可以将执行程序放在一个新建的文件夹中,然后双击执行该程序 直接点击确定执行

 ②:然后双击执行该程序,会看到让我们选择一种通信方式,我们直接输入0 选择HTTP通信 ,然后回车

 ③:然后他会生成一个config.yml的配置文件,我们使用记事本打开,需要进行一些简单的配置

④:重新运行go-cqhttp.bat程序

5.利用python程序编写基本的小案例

①:获取qq机器人的信息(也就是你当时输入的那个账号的信息)

②:实现发送信息的功能


go-cqhttp是一个基于Go语言开发的,运行在服务器上的机器人框架,它与QQ客户端通过插件,直接进行通信,可以实现对QQ群及私聊的监控、消息发送和自动回复等功能。go-cqhttp是国内较为流行的QQ机器人框架之一,可以快速搭建一个高度自定义的机器人应用。

本案例是使用go-cqhttp框架搭建的本地qq聊天机器人,演示其中的一个案例,其余的案例其实都类似,只是调用不同的接口。

我们直接按照官网的指引去github下载上下载:Releases · Mrs4s/go-cqhttp · GitHub

然后找到我们想下载的版本

点击Assets下载对应的文件,因为我的是 x64 windows的电脑 所以我们需要下载的是这个文件:

记住一定得是:amd64.exe 不是arm64,不要选错操作系统了

鉴于可能会出现网络不佳的情况,导致访问github非常的慢,这里我提供了一个下载地址:https://pan.baidu.com/s/1suilFgCHPr_t1D-rMbGphQ?pwd=1111 
提取码:1111

①:下载之后我们可以将执行程序放在一个新建的文件夹中,然后双击执行该程序 直接点击确定执行

然后他会生成一个go-cqhttp.bat的执行程序

 ②:然后双击执行该程序,会看到让我们选择一种通信方式,我们直接输入0 选择HTTP通信 ,然后回车

 ③:然后他会生成一个config.yml的配置文件,我们使用记事本打开,需要进行一些简单的配置

 

 我们需要填写对应的账号和密码,并将心跳关闭,然后拉到文件的末尾,将划线的二条代码的注释删掉

 其中的url地址的配置:

http://127.0.0.1:5700/是go-cqhttp服务器的http API端口地址,在go-cqhttp服务器启动之后,我们可以通过向这个地址发送HTTP请求来与go-cqhttp服务器进行交互,例如发送消息等操作。

http://127.0.0.1:5701/是go-cqhttp服务器的web管理界面地址,在这个界面上我们可以方便地查看go-cqhttp服务器的日志、配置参数、查看插件信息等等。这个地址不是运行go-cqhttp机器人必须的,但是在有些情况下,如果你需要对go-cqhttp机器人进行一些配置调整或者查看状态信息,可以通过这个地址进行操作。

修改完之后记得保存,详细配置可以参考官方文档:配置 | go-cqhttp 帮助中心

④:重新运行go-cqhttp.bat程序

 看到如下的程序,证明我们的配置已经成功了,接下来就是编码环节,但是这个过程中,终端程序不能关闭,得一直运行着

我这里使用的是pycharm,使用其他的代码编辑器也可以,首先要确保我们已经下载了requests这个包,如果没有下载的,可以使用下面的命令在终端中安装一下

pip install requests

接下来就是代码编写,其实我们的代码主要是运用官方的提供的API,我们只需要对发送请求回来的数据进行处理即可,官方API文档:API | go-cqhttp 帮助中心

我们这里使用二个小案例演示一下

①:获取qq机器人的信息(也就是你当时输入的那个账号的信息)

import requests# 设置请求头headers = {    'Content-Type': 'application/json'}# 构造发送的消息data = {    "action": "get_login_info"}# 发送 HTTP 请求response = requests.post('http://localhost:5700/get_login_info', headers=headers, json=data)print(response.json())# 解析返回的数据if response.json().get("status") == "ok":    print("QQ 账号:", response.json().get('data').get('user_id'))    print("QQ 昵称:", response.json().get('data').get('nickname'))else:    print("获取登录信息失败")

然后我们运行此程序,可以看到终端打印了该机器人的一些基本信息

至于请求发送的一些相关参数已经请求头都可以通过官方文档查看

②:实现发送信息的功能

import requests# 设置请求头headers = {    'Content-Type': 'application/json'}# 构造发送的消息data = {    "message_type": "private",    "user_id": 11223345,  # 替换成你要发送消息的 QQ 账号    "message": "qc_bot测试信息"  # 替换成要发送的文本内容}# 发送 HTTP 请求response = requests.post('http://localhost:5700/send_msg', headers=headers, json=data)# 解析返回的数据if response.json().get("status") == "ok":    print("消息发送成功")else:    print("消息发送失败")

运行之后对方就会收到你的信息了,包括在终端中也会看到相关的信息

 至于其他的一些操作基本上都是可以通过查询官方文档获取

来源地址:https://blog.csdn.net/m0_64642443/article/details/131156520

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯