# ZM\API\CQ

# at

public function at(int|string $qq): string
1

# 描述

at一下QQ用户(仅在QQ群支持at全体)

# 参数

名称 类型 描述
qq int string

# 返回

类型 描述
string CQ码

# face

public function face(int|string $id): string
1

# 描述

发送QQ原生表情

# 参数

名称 类型 描述
id int string

# 返回

类型 描述
string CQ码

# image

public function image(string $file, bool $cache, bool $flash, bool $proxy, int $timeout): string
1

# 描述

发送图片

# 参数

名称 类型 描述
file string 文件的路径、URL或者base64编码的图片数据
cache bool 是否缓存(默认为true)
flash bool 是否闪照(默认为false)
proxy bool 是否使用代理(默认为true)
timeout int 超时时间(默认不超时)

# 返回

类型 描述
string CQ码

# record

public function record(string $file, bool $magic, bool $cache, bool $proxy, int $timeout): string
1

# 描述

发送语音

# 参数

名称 类型 描述
file string 文件的路径、URL或者base64编码的语音数据
magic bool 是否加特技(默认为false)
cache bool 是否缓存(默认为true)
proxy bool 是否使用代理(默认为true)
timeout int 超时时间(默认不超时)

# 返回

类型 描述
string CQ码

# video

public function video(string $file, bool $cache, bool $proxy, int $timeout): string
1

# 描述

发送短视频

# 参数

名称 类型 描述
file string 文件的路径、URL或者base64编码的短视频数据
cache bool 是否缓存(默认为true)
proxy bool 是否使用代理(默认为true)
timeout int 超时时间(默认不超时)

# 返回

类型 描述
string CQ码

# rps

public function rps(): string
1

# 描述

发送投掷骰子(只能在单条回复中单独使用)

# 返回

类型 描述
string CQ码

# dice

public function dice(): string
1

# 描述

发送掷骰子表情(只能在单条回复中单独使用)

# 返回

类型 描述
string CQ码

# shake

public function shake(): string
1

# 描述

戳一戳(原窗口抖动,仅支持好友消息使用)

# 返回

类型 描述
string CQ码

# poke

public function poke(int|string $type, int|string $id, string $name): string
1

# 描述

发送新的戳一戳

# 参数

名称 类型 描述
type int string
id int string
name string 戳一戳名称(可选)

# 返回

类型 描述
string CQ码

# anonymous

public function anonymous(int $ignore): string
1

# 描述

发送匿名消息

# 参数

名称 类型 描述
ignore int 是否忽略错误(默认为1,0表示不忽略错误)

# 返回

类型 描述
string CQ码

# share

public function share(string $url, string $title, null|string $content, null|string $image): string
1

# 描述

发送链接分享(只能在单条回复中单独使用)

# 参数

名称 类型 描述
url string 分享地址
title string 标题
content null string
image null string

# 返回

类型 描述
string CQ码

# contact

public function contact(int|string $type, int|string $id): string
1

# 描述

发送好友或群推荐名片

# 参数

名称 类型 描述
type int string
id int string

# 返回

类型 描述
string CQ码

# location

public function location(float|string $lat, float|string $lon, string $title, string $content): string
1

# 描述

发送位置

# 参数

名称 类型 描述
lat float string
lon float string
title string 标题(可选)
content string 卡片内容(可选)

# 返回

类型 描述
string CQ码

# music

public function music(string $type, int|string $id_or_url, null|string $audio, null|string $title, null|string $content, null|string $image): string
1

# 描述

发送音乐分享(只能在单条回复中单独使用) qq、163、xiami为内置分享,需要先通过搜索功能获取id后使用

# 参数

名称 类型 描述
type string 分享类型(仅限 qq163xiamicustom
id_or_url int string
audio null string
title null string
content null string
image null string

# 返回

类型 描述
string CQ码

# forward

public function forward(int|string $id): string
1

# 描述

合并转发消息

# 参数

名称 类型 描述
id int string

# 返回

类型 描述
string CQ码

# node

public function node(int|string $user_id, string $nickname, string $content): string
1

# 描述

合并转发消息节点 特殊说明: 需要使用单独的API /send_group_forward_msg 发送, 并且由于消息段较为复杂, 仅支持Array形式入参。 如果引用消息和自定义消息同时出现, 实际查看顺序将取消息段顺序。 另外按 CQHTTP 文档说明, data 应全为字符串, 但由于需要接收message 类型的消息, 所以 仅限此Type的content字段 支持Array套娃

# 参数

名称 类型 描述
user_id int string
nickname string 发送者显示名字
content string 具体消息

# 返回

类型 描述
string CQ码

# xml

public function xml(string $data): string
1

# 描述

XML消息

# 参数

名称 类型 描述
data string xml内容, xml中的value部分

# 返回

类型 描述
string CQ码

# json

public function json(string $data, int $resid): string
1

# 描述

JSON消息

# 参数

名称 类型 描述
data string json内容
resid int 0为走小程序通道,其他值为富文本通道(默认为0)

# 返回

类型 描述
string CQ码

# _custom

public function _custom(string $type_name, array $params): string
1

# 描述

返回一个自定义扩展的CQ码(支持自定义类型和参数)

# 参数

名称 类型 描述
type_name string CQ码类型名称
params array 参数

# 返回

类型 描述
string CQ码

# decode

public function decode(int|string|Stringable $msg, bool $is_content): string
1

# 描述

反转义字符串中的CQ码敏感符号

# 参数

名称 类型 描述
msg int string
is_content bool 如果是解码CQ码本体内容,则为false(默认),如果是参数内的字符串,则为true

# 返回

类型 描述
string 转义后的CQ码

# replace

public function replace(int|string|Stringable $str): string
1

# 描述

简单反转义替换CQ码的方括号

# 参数

名称 类型 描述
str int string

# 返回

类型 描述
string 字符串

# escape

public function escape(int|string|Stringable $msg, bool $is_content): string
1

# 描述

转义CQ码的特殊字符,同encode

# 参数

名称 类型 描述
msg int string
is_content bool 如果是转义CQ码本体内容,则为false(默认),如果是参数内的字符串,则为true

# 返回

类型 描述
string 转义后的CQ码

# encode

public function encode(int|string|Stringable $msg, bool $is_content): string
1

# 描述

转义CQ码的特殊字符

# 参数

名称 类型 描述
msg int string
is_content bool 如果是转义CQ码本体内容,则为false(默认),如果是参数内的字符串,则为true

# 返回

类型 描述
string 转义后的CQ码

# removeCQ

public function removeCQ(string $msg): string
1

# 描述

移除消息中所有的CQ码并返回移除CQ码后的消息

# 参数

名称 类型 描述
msg string 消息

# 返回

类型 描述
string 消息内容

# getCQ

public function getCQ(string $msg, bool $is_object): null|array|CQObject
1

# 描述

获取消息中第一个CQ码

# 参数

名称 类型 描述
msg string 消息内容
is_object bool 是否以对象形式返回,如果为False的话,返回数组形式(默认为false)

# 返回

类型 描述
null array

# getAllCQ

public function getAllCQ(string $msg, bool $is_object): array|CQObject[]
1

# 描述

获取消息中所有的CQ码

# 参数

名称 类型 描述
msg string 消息内容
is_object bool 是否以对象形式返回,如果为False的话,返回数组形式(默认为false)

# 返回

类型 描述
array CQObject[]