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()

代码说明

  1. 连接 Go-CQHTTP websocket
    • 使用 websocket.create_connection() 方法连接到 Go-CQHTTP 的 websocket 地址。默认地址为 ws://127.0.0.1:6700/,需要根据实际情况修改。
  2. 构造发送数据
    • data 字典包含以下信息:
      • action: 要执行的操作,例如 send_private_msg 代表发送私聊消息。
      • params: 操作参数,例如 user_id 代表接收消息的 QQ 号码,message 代表要发送的消息内容。
      • echo: 可选参数,用于标识发送的数据,在收到响应时可以进行验证。
  3. 发送数据
    • 使用 ws.send() 方法将 data 字典转换为 JSON 格式并发送到 Go-CQHTTP。
  4. 接收响应
    • 使用 ws.recv() 方法接收 Go-CQHTTP 的响应数据。
  5. 处理响应数据
    • 使用 json.loads() 方法将接收到的 JSON 格式数据转换为 Python 字典。
    • 打印 result 字典查看响应内容。
  6. 关闭连接
    • 使用 ws.close() 方法关闭 websocket 连接。

数据格式和可用的 action

详细的数据格式和可用的 action 请参考 Go-CQHTTP 文档

注意

  • 请确保 Go-CQHTTP 已经启动并正常运行。
  • 需要安装 websocket 库,可以使用 pip install websocket 命令安装。
  • 以上代码仅提供一个基本的示例,具体的实现需要根据实际需求进行修改。
Python 对接 Go-CQHTTP:发送私聊消息示例代码

原文地址: https://www.cveoy.top/t/topic/m5lS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录