Python 对接 Go-CQHTTP:发送私聊消息示例代码
Python 对接 Go-CQHTTP:发送私聊消息示例代码
本文将提供使用 Python 代码与 Go-CQHTTP 进行连接,并发送私聊消息的示例。
代码示例
import websocket
import json
# 连接go-cqhttp websocket
ws = websocket.create_connection('ws://127.0.0.1:6700/')
# 构造发送给go-cqhttp的数据
data = {
'action': 'send_private_msg',
'params': {
'user_id': 123456,
'message': 'Hello World!'
},
'echo': 'test'
}
# 发送数据
ws.send(json.dumps(data))
# 接收响应
result = ws.recv()
# 处理响应数据
result = json.loads(result)
print(result)
# 关闭连接
ws.close()
代码说明
- 连接 Go-CQHTTP websocket
- 使用
websocket.create_connection()方法连接到 Go-CQHTTP 的 websocket 地址。默认地址为ws://127.0.0.1:6700/,需要根据实际情况修改。
- 使用
- 构造发送数据
data字典包含以下信息:action: 要执行的操作,例如send_private_msg代表发送私聊消息。params: 操作参数,例如user_id代表接收消息的 QQ 号码,message代表要发送的消息内容。echo: 可选参数,用于标识发送的数据,在收到响应时可以进行验证。
- 发送数据
- 使用
ws.send()方法将data字典转换为 JSON 格式并发送到 Go-CQHTTP。
- 使用
- 接收响应
- 使用
ws.recv()方法接收 Go-CQHTTP 的响应数据。
- 使用
- 处理响应数据
- 使用
json.loads()方法将接收到的 JSON 格式数据转换为 Python 字典。 - 打印
result字典查看响应内容。
- 使用
- 关闭连接
- 使用
ws.close()方法关闭 websocket 连接。
- 使用
数据格式和可用的 action
详细的数据格式和可用的 action 请参考 Go-CQHTTP 文档。
注意
- 请确保 Go-CQHTTP 已经启动并正常运行。
- 需要安装
websocket库,可以使用pip install websocket命令安装。 - 以上代码仅提供一个基本的示例,具体的实现需要根据实际需求进行修改。
原文地址: https://www.cveoy.top/t/topic/m5lS 著作权归作者所有。请勿转载和采集!