文档
·
下载
·
开始使用
composer require itwmw/go-cq-http-sdk
$api = new Itwmw\GoCqHttp\Api();
// 发送私聊消息
$api->message->sendMsg('测试消息', 'private', 995645888);
SDK内置消息的处理:
$server = $api->getServer();
你可以通过中间件模式来处理消息:
use Itwmw\GoCqHttp\Data\Post\BasePostMessage;
$server->addHandler(function(BasePostMessage $message, \Closure $next) {
// 处理消息
return $next($message);
})->addHandler(function(BasePostMessage $message, \Closure $next) {
// 处理消息
return $next($message);
})->addHandler(function(BasePostMessage $message, \Closure $next) {
// 处理消息
return $next($message);
})->addHandler(function(BasePostMessage $message, \Closure $next) {
// 处理消息
return $next($message);
});
echo $server->handle();
use Itwmw\GoCqHttp\Data\Post\BasePostMessage;
class MessageHandle
{
public function __invoke(BasePostMessage $message, \Closure $next)
{
// 处理消息
return $next($message);
}
}
$server->addHandler(MessageHandle::class);
也支持callable类型的处理器
use Itwmw\GoCqHttp\Data\Struct\Enum\PostMessageType;
use Itwmw\GoCqHttp\Data\Post\Message\PrivateMessage;
$server->addMessageListener(PostMessageType::PRIVATE, function (PrivateMessage $message, \Closure $next) {
// 处理消息
return $next($message);
});
use Itwmw\GoCqHttp\Data\Struct\Enum\PostNoticeType;
use Itwmw\GoCqHttp\Data\Post\Notice\GroupIncreaseNotice;
$server->addNoticeListener(PostNoticeType::GROUP_INCREASE, function (GroupIncreaseNotice $message, Closure $next) {
// 处理群成员增加
return $next($message);
});
同样也支持使用独立的类来处理消息
部分类型的消息支持快捷操作,快捷操作的方法为 response,例:
use Itwmw\GoCqHttp\Data\Post\Message\PrivateMessage;
$server->addMessageListener(PostMessageType::PRIVATE, function (PrivateMessage $message, \Closure $next) {
if ('再见' === $message->message) {
return $message->response('bye~');
}
return $next($message);
});
Bot账号相关的Api
| API |
功能 |
| getLoginInfo |
获取登录号信息 |
| setQqProfile |
设置登录号资料 |
| qiDianGetAccountInfo |
获取企点账号信息 |
| getModelShow |
获取在线机型 |
| setModelShow |
设置在线机型 |
| getOnlineClients |
获取当前账号在线客户端列表 |
好友相关的Api
| API |
功能 |
| getStrangerInfo |
获取陌生人信息 |
| GetFriendList |
获取好友列表 |
| getUnidirectionalFriendList |
获取单向好友列表 |
| deleteFriend |
删除好友 |
| deleteUnidirectionalFriend |
删除单向好友 |
| getOnlineClients |
获取当前账号在线客户端列表 |
消息相关的Api
| API |
功能 |
| sendPrivateMsg |
发送私聊消息 |
| sendGroupMsg |
发送群聊消息 |
| sendMsg |
发送消息 |
| getMsg |
获取消息 |
| deleteMsg |
撤回消息 |
| markMsgAsRead |
标记消息已读 |
| getForwardMsg |
获取合并转发内容 |
| sendGroupForwardMsg |
发送合并转发 ( 群聊 ) |
| sendPrivateForwardMsg |
发送合并转发 ( 好友 ) |
| getGroupMsgHistory |
获取群消息历史记录 |
图片相关的Api
| API |
功能 |
| getImage |
获取图片信息 |
| canSendImage |
检查是否可以发送图片 |
| ocrImage |
图片 OCR |
语音相关的Api
| API |
功能 |
| getRecord |
获取语音 |
| canSendRecord |
检查是否可以发送语音 |
处理请求相关的Api
| API |
功能 |
| setFriendAddRequest |
处理加好友请求 |
| setGroupAddRequest |
处理加群请求/邀请 |
群信息相关的Api
| API |
功能 |
| getGroupInfo |
获取群信息 |
| getGroupList |
获取群列表 |
| getGroupMemberInfo |
获取群成员信息 |
| getGroupMemberList |
获取群成员列表 |
| getGroupHonorInfo |
获取群荣誉信息 |
| getGroupSystemMsg |
获取群系统消息 |
| getEssenceMsgList |
获取精华消息列表 |
| getGroupAtAllRemain |
获取群 @全体成员 剩余次数 |
群设置相关的Api
| API |
功能 |
| setGroupName |
设置群名 |
| setGroupPortrait |
设置群头像 |
| setGroupAdmin |
设置群管理员 |
| setGroupCard |
设置群名片 ( 群备注 ) |
| setGroupSpecialTitle |
设置群组专属头衔 |
群操作相关的Api
| API |
功能 |
| setGroupBan |
群单人禁言 |
| setGroupWholeBan |
群全员禁言 |
| setGroupAnonymousBan |
群匿名用户禁言 |
| setEssenceMsg |
设置精华消息 |
| deleteEssenceMsg |
移出精华消息 |
| sendGroupSign |
群打卡 |
| setGroupAnonymous |
群设置匿名 |
| sendGroupNotice |
发送群公告 |
| getGroupNotice |
获取群公告 |
| setGroupKick |
群组踢人 |
| setGroupLeave |
退出群组 |
群文件相关的Api
| API |
功能 |
| uploadGroupFile |
上传群文件 |
| deleteGroupFile |
删除群文件 |
| createGroupFileFolder |
创建群文件文件夹 |
| deleteGroupFolder |
删除群文件文件夹 |
| getGroupFileSystemInfo |
获取群文件系统信息 |
| getGroupRootFiles |
获取群根目录文件列表 |
| getGroupFilesByFolder |
获取群子目录文件列表 |
| getGroupFileUrl |
获取群文件资源链接 |
| uploadPrivateFile |
上传私聊文件 |
Go-CqHttp相关的Api
| API |
功能 |
| getCookies |
获取 Cookies |
| getCsrfToken |
获取 CSRF Token |
| getCredentials |
获取 QQ 相关接口凭证 |
| getVersionInfo |
获取版本信息 |
| getStatus |
获取状态 |
| cleanCache |
清理缓存 |
| reloadEventFilter |
重载事件过滤器 |
| downloadFile |
下载文件到缓存目录 |
| checkUrlSafely |
检查链接安全性 |
| getWordSlices |
获取中文分词 ( 隐藏 API ) |
| handleQuickOperation |
对事件执行快速操作 ( 隐藏 API ) |
CQ 码支持
| 对应的类 |
功能 |
Itwmw\GoCqHttp\CqCode\Face |
QQ 表情 |
Itwmw\GoCqHttp\CqCode\Record |
语音 |
Itwmw\GoCqHttp\CqCode\Video |
短视频 |
Itwmw\GoCqHttp\CqCode\At |
@某人 |
Itwmw\GoCqHttp\CqCode\Share |
链接分享 |
Itwmw\GoCqHttp\CqCode\Music |
音乐分享 |
Itwmw\GoCqHttp\CqCode\MusicCustom |
自定义音乐分享 |
Itwmw\GoCqHttp\CqCode\Image |
图片 |
Itwmw\GoCqHttp\CqCode\Reply |
回复 |
Itwmw\GoCqHttp\CqCode\RedBag |
红包 |
Itwmw\GoCqHttp\CqCode\Poke |
戳一戳 |
Itwmw\GoCqHttp\CqCode\Gift |
礼物 |
Itwmw\GoCqHttp\CqCode\Forward |
合并转发 |
Itwmw\GoCqHttp\CqCode\Xml |
XML 消息 |
Itwmw\GoCqHttp\CqCode\Json |
JSON 消息 |
Itwmw\GoCqHttp\CqCode\CardImage |
装逼大图 |
Itwmw\GoCqHttp\CqCode\Tts |
文本转语音 |
发送:
use Itwmw\GoCqHttp\Api;
use Itwmw\GoCqHttp\CqCode\Tts;
$api = new Api();
$tts = new Tts('你好');
$api->message->sendMsg($tts, user_id: 995645888);
解析接受到的消息:
$msg = "[CQ:share,url=https://www.baidu.com/,title=百度一下,content=百度一下,你就知道,image=https://www.baidu.com/img/bd_logo1.png]";
$share = Share::create($msg);
print_r($share);
//Itwmw\GoCqHttp\CqCode\Share Object
//(
// [url] => https://www.baidu.com/
// [title] => 百度一下
// [content] => 百度一下,你就知道
// [image] => https://www.baidu.com/img/bd_logo1.png
//)
echo $share;
// [CQ:share,url=https://www.baidu.com/,title=百度一下,content=百度一下,你就知道,image=https://www.baidu.com/img/bd_logo1.png]
QQ群: 852297017