# ZM\API\CQ ## at ```php public function at(int|string $qq): string ``` ### 描述 at一下QQ用户(仅在QQ群支持at全体) ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | qq | int|string | 用户QQ号/ID号 | ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | CQ码 | ## face ```php public function face(int|string $id): string ``` ### 描述 发送QQ原生表情 ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | id | int|string | 表情ID | ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | CQ码 | ## image ```php public function image(string $file, bool $cache, bool $flash, bool $proxy, int $timeout): string ``` ### 描述 发送图片 ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | file | string | 文件的路径、URL或者base64编码的图片数据 | | cache | bool | 是否缓存(默认为true) | | flash | bool | 是否闪照(默认为false) | | proxy | bool | 是否使用代理(默认为true) | | timeout | int | 超时时间(默认不超时) | ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | CQ码 | ## record ```php public function record(string $file, bool $magic, bool $cache, bool $proxy, int $timeout): string ``` ### 描述 发送语音 ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | file | string | 文件的路径、URL或者base64编码的语音数据 | | magic | bool | 是否加特技(默认为false) | | cache | bool | 是否缓存(默认为true) | | proxy | bool | 是否使用代理(默认为true) | | timeout | int | 超时时间(默认不超时) | ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | CQ码 | ## video ```php public function video(string $file, bool $cache, bool $proxy, int $timeout): string ``` ### 描述 发送短视频 ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | file | string | 文件的路径、URL或者base64编码的短视频数据 | | cache | bool | 是否缓存(默认为true) | | proxy | bool | 是否使用代理(默认为true) | | timeout | int | 超时时间(默认不超时) | ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | CQ码 | ## rps ```php public function rps(): string ``` ### 描述 发送投掷骰子(只能在单条回复中单独使用) ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | CQ码 | ## dice ```php public function dice(): string ``` ### 描述 发送掷骰子表情(只能在单条回复中单独使用) ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | CQ码 | ## shake ```php public function shake(): string ``` ### 描述 戳一戳(原窗口抖动,仅支持好友消息使用) ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | CQ码 | ## poke ```php public function poke(int|string $type, int|string $id, string $name): string ``` ### 描述 发送新的戳一戳 ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | type | int|string | 焯一戳类型 | | id | int|string | 戳一戳ID号 | | name | string | 戳一戳名称(可选) | ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | CQ码 | ## anonymous ```php public function anonymous(int $ignore): string ``` ### 描述 发送匿名消息 ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | ignore | int | 是否忽略错误(默认为1,0表示不忽略错误) | ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | CQ码 | ## share ```php public function share(string $url, string $title, null|string $content, null|string $image): string ``` ### 描述 发送链接分享(只能在单条回复中单独使用) ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | url | string | 分享地址 | | title | string | 标题 | | content | null|string | 卡片内容(可选) | | image | null|string | 卡片图片(可选) | ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | CQ码 | ## contact ```php public function contact(int|string $type, int|string $id): string ``` ### 描述 发送好友或群推荐名片 ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | type | int|string | 名片类型 | | id | int|string | 好友或群ID | ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | CQ码 | ## location ```php public function location(float|string $lat, float|string $lon, string $title, string $content): string ``` ### 描述 发送位置 ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | lat | float|string | 纬度 | | lon | float|string | 经度 | | title | string | 标题(可选) | | content | string | 卡片内容(可选) | ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | CQ码 | ## music ```php public function music(string $type, int|string $id_or_url, null|string $audio, null|string $title, null|string $content, null|string $image): string ``` ### 描述 发送音乐分享(只能在单条回复中单独使用) qq、163、xiami为内置分享,需要先通过搜索功能获取id后使用 ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | type | string | 分享类型(仅限 `qq`、`163`、`xiami` 或 `custom`) | | id_or_url | int|string | 当分享类型不是 `custom` 时,表示的是分享音乐的ID(需要先通过搜索功能获取id后使用),反之表示的是音乐卡片点入的链接 | | audio | null|string | 当分享类型是 `custom` 时,表示为音乐(如mp3文件)的HTTP链接地址(不可为空) | | title | null|string | 当分享类型是 `custom` 时,表示为音乐卡片的标题,建议12字以内(不可为空) | | content | null|string | 当分享类型是 `custom` 时,表示为音乐卡片的简介(可忽略) | | image | null|string | 当分享类型是 `custom` 时,表示为音乐卡片的图片链接地址(可忽略) | ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | CQ码 | ## forward ```php public function forward(int|string $id): string ``` ### 描述 合并转发消息 ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | id | int|string | 合并转发ID, 需要通过 `/get_forward_msg` API获取转发的具体内容 | ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | CQ码 | ## node ```php public function node(int|string $user_id, string $nickname, string $content): string ``` ### 描述 合并转发消息节点 特殊说明: 需要使用单独的API /send_group_forward_msg 发送, 并且由于消息段较为复杂, 仅支持Array形式入参。 如果引用消息和自定义消息同时出现, 实际查看顺序将取消息段顺序。 另外按 CQHTTP 文档说明, data 应全为字符串, 但由于需要接收message 类型的消息, 所以 仅限此Type的content字段 支持Array套娃 ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | user_id | int|string | 转发消息id | | nickname | string | 发送者显示名字 | | content | string | 具体消息 | ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | CQ码 | ## xml ```php public function xml(string $data): string ``` ### 描述 XML消息 ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | data | string | xml内容, xml中的value部分 | ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | CQ码 | ## json ```php public function json(string $data, int $resid): string ``` ### 描述 JSON消息 ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | data | string | json内容 | | resid | int | 0为走小程序通道,其他值为富文本通道(默认为0) | ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | CQ码 | ## _custom ```php public function _custom(string $type_name, array $params): string ``` ### 描述 返回一个自定义扩展的CQ码(支持自定义类型和参数) ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | type_name | string | CQ码类型名称 | | params | array | 参数 | ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | CQ码 | ## decode ```php public function decode(int|string|Stringable $msg, bool $is_content): string ``` ### 描述 反转义字符串中的CQ码敏感符号 ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | msg | int|string|Stringable | 字符串 | | is_content | bool | 如果是解码CQ码本体内容,则为false(默认),如果是参数内的字符串,则为true | ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | 转义后的CQ码 | ## replace ```php public function replace(int|string|Stringable $str): string ``` ### 描述 简单反转义替换CQ码的方括号 ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | str | int|string|Stringable | 字符串 | ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | 字符串 | ## escape ```php public function escape(int|string|Stringable $msg, bool $is_content): string ``` ### 描述 转义CQ码的特殊字符,同encode ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | msg | int|string|Stringable | 字符串 | | is_content | bool | 如果是转义CQ码本体内容,则为false(默认),如果是参数内的字符串,则为true | ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | 转义后的CQ码 | ## encode ```php public function encode(int|string|Stringable $msg, bool $is_content): string ``` ### 描述 转义CQ码的特殊字符 ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | msg | int|string|Stringable | 字符串 | | is_content | bool | 如果是转义CQ码本体内容,则为false(默认),如果是参数内的字符串,则为true | ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | 转义后的CQ码 | ## removeCQ ```php public function removeCQ(string $msg): string ``` ### 描述 移除消息中所有的CQ码并返回移除CQ码后的消息 ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | msg | string | 消息 | ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | 消息内容 | ## getCQ ```php public function getCQ(string $msg, bool $is_object): null|array|CQObject ``` ### 描述 获取消息中第一个CQ码 ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | msg | string | 消息内容 | | is_object | bool | 是否以对象形式返回,如果为False的话,返回数组形式(默认为false) | ### 返回 | 类型 | 描述 | | ---- | ----------- | | null|array|CQObject | 返回的CQ码(数组或对象) | ## getAllCQ ```php public function getAllCQ(string $msg, bool $is_object): array|CQObject[] ``` ### 描述 获取消息中所有的CQ码 ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | msg | string | 消息内容 | | is_object | bool | 是否以对象形式返回,如果为False的话,返回数组形式(默认为false) | ### 返回 | 类型 | 描述 | | ---- | ----------- | | array|CQObject[] | 返回的CQ码们(数组或对象) |