Skip to content

get_red_packet_info

查询群消息中 red_packet 消息段对应的 QQ 红包详细信息。

调用

js
const redPacket = event.message.find(segment => segment.type === 'red_packet')
const result = await api.get_red_packet_info(
  event.self_id,
  event.group_id,
  event.sender.user_id,
  redPacket.data,
)

也可以直接把完整的 red_packet 消息段作为第 4 个参数传入,官方 SDK 会自动读取其中的 data

参数

参数类型必填说明
self_idnumber在线 Bot QQ 号
group_idnumber红包所在群号
sender_uinnumber红包发送人 QQ 号
red_packetobject收到的 red_packet 消息段 data
red_packet.titlestring红包标题
red_packet.listidstring红包列表 ID
red_packet.authkeystring红包鉴权串
red_packet.channelnumber红包渠道,缺省为 0
red_packet.pay_flagnumber红包支付标记,取自收到的 red_packet 消息段
red_packet.hb_fromnumber红包来源标记,取自收到的 red_packet 消息段

原始 action 参数

未使用官方 SDK 时,当前后端接收的是展开后的红包字段,不接收嵌套的 red_packet 对象:

json
{
  "action": "get_red_packet_info",
  "params": {
    "self_id": 644691423,
    "group_id": 714169244,
    "sender_uin": 51974055,
    "title": "恭喜发财",
    "listid": "10000448012608253500114336737900",
    "authkey": "45c7afde0cb06eed0198c763b46a580a",
    "channel": 1,
    "pay_flag": 0,
    "hb_from": 0
  }
}

请直接使用收到的红包消息段数据,不要自行重新生成 listidauthkey。官方 SDK 会自动把第 4 个位置参数展开成当前后端实际接收的字段。

返回值

返回 QQ 红包服务解密后的 JSON 对象,例如:

js
{
  retcode: '0',
  retmsg: 'ok',
  pre_grap_token: 'rand=...&sign=...&ts=...&ver=1',
  send_object: {
    channel: '1',
    recv_amount: '0',
    recv_num: '0',
    send_listid: '10000452012608021400100537757900',
    send_name: '示例用户',
    send_uin: '350873596',
    total_amount: '100',
    total_num: '1',
    wishing: '恭喜发财',
  },
  state: '16',
}

pre_grap_token 位于返回对象顶层。正式领取时,将它作为 grab_red_packet 的第 5 个参数传入。

调用前必读

协议与使用指南

仅 Android
适用协议
仅 Android
使用前准备
目标 Bot 必须属于当前插件节点并处于在线状态;涉及群或好友操作时,账号还必须具备对应 QQ 权限。
选择协议
const androidApi = api.forProtocol('android') // 省略时也默认 Android

原始 action 请求只使用附件约定的 client_type: 'android' | 'linuxqq';省略时选择 Android。

建议搭配

常见失败原因

  • bot 不属于本节点
  • bot 未在线或账号状态不符合要求
  • client_type 无效或目标协议不支持该 action

注意事项

  • 省略协议选择器时默认 Android;若指定 Linux,框架会明确拒绝,不会转交同 QQ 的 Android 实例。
  • 查询结果可能受 QQ 服务端分页、缓存与权限影响,不应假设一次调用返回全部数据。

萌卡NT 开发文档