cpp-mirai-client  v2.6.1
cpp client for mirai-api-http
Mirai::IAdaptor类 参考abstract

#include <IAdaptor.hpp>

Public 类型

template<typename... Args>
using Callback = std::function< void(Args...)>
 
using string = std::string
 

Public 成员函数

virtual ~IAdaptor ()=default
 
virtual void OnConnectionEstablished (Callback< ClientConnectionEstablishedEvent >)=0
 Register callback for ConnectionEstablished event 更多...
 
virtual void OnRecv (Callback< const string & >)=0
 Register callback for receiving content 更多...
 
virtual void OnConnectionError (Callback< ClientConnectionErrorEvent >)=0
 Register callback for ConnectionError event 更多...
 
virtual void OnConnectionClosed (Callback< ClientConnectionClosedEvent >)=0
 Register callback for ConnectionClosed event 更多...
 
virtual void Connect ()=0
 Called for opening a session to mirai-api-http 更多...
 
virtual void Disconnect (string SessionKey)=0
 Called for closing a session 更多...
 
virtual string Version ()=0
 获取版本号 更多...
 
virtual QQ_t GetBotQQ ()=0
 获取Bot账号 更多...
 
virtual std::vector< QQ_tBotList ()=0
 获取登录账号 更多...
 
virtual std::variant< FriendMessageEvent, GroupMessageEvent, TempMessageEvent, StrangerMessageEventMessageFromId (string SessionKey, MessageId_t id, UID_t target)=0
 通过messageId获取消息 更多...
 
virtual std::vector< UserFriendList (string SessionKey)=0
 获取好友列表 更多...
 
virtual std::vector< GroupGroupList (string SessionKey)=0
 获取群列表 更多...
 
virtual std::vector< GroupMemberMemberList (string SessionKey, GID_t target)=0
 获取群成员列表 更多...
 
virtual std::vector< GroupMemberLatestMemberList (string SessionKey, GID_t target)=0
 获取最新群成员列表 更多...
 
virtual UserProfile GetBotProfile (string SessionKey)=0
 获取Bot资料 更多...
 
virtual UserProfile GetFriendProfile (string SessionKey, QQ_t target)=0
 获取好友资料 更多...
 
virtual UserProfile GetMemberProfile (string SessionKey, GID_t target, QQ_t MemberId)=0
 获取群成员资料 更多...
 
virtual UserProfile GetUserProfile (string SessionKey, QQ_t target)=0
 获取QQ用户资料 更多...
 
virtual MessageId_t SendFriendMessage (string SessionKey, QQ_t qq, const MessageChain &message, std::optional< MessageId_t > QuoteId=std::nullopt)=0
 发送好友消息 更多...
 
virtual MessageId_t SendFriendMessage (string SessionKey, QQ_t qq, MessageChain &&message, std::optional< MessageId_t > QuoteId=std::nullopt)=0
 发送好友消息 更多...
 
virtual MessageId_t SendGroupMessage (string SessionKey, GID_t group, const MessageChain &message, std::optional< MessageId_t > QuoteId=std::nullopt)=0
 发送群消息 更多...
 
virtual MessageId_t SendGroupMessage (string SessionKey, GID_t group, MessageChain &&message, std::optional< MessageId_t > QuoteId=std::nullopt)=0
 发送群消息 更多...
 
virtual MessageId_t SendTempMessage (string SessionKey, QQ_t qq, GID_t group, const MessageChain &message, std::optional< MessageId_t > QuoteId=std::nullopt)=0
 发送临时会话消息 更多...
 
virtual MessageId_t SendTempMessage (string SessionKey, QQ_t qq, GID_t group, MessageChain &&message, std::optional< MessageId_t > QuoteId=std::nullopt)=0
 发送临时会话消息 更多...
 
virtual void SendNudge (string SessionKey, QQ_t target, UID_t subject, NudgeType kind)=0
 发送头像戳一戳消息 更多...
 
virtual void Recall (string SessionKey, MessageId_t id, UID_t target)=0
 撤回消息 更多...
 
virtual std::vector< MessageChainRoamingMessages (string SessionKey, std::time_t TimeStart, std::time_t TimeEnd, UID_t target)=0
 获取漫游消息 更多...
 
virtual std::vector< GroupFileInfoFileList (string SessionKey, string id, string path, UID_t target, int64_t offset=0, int64_t size=0, bool withDownloadInfo=false)=0
 查看文件列表 更多...
 
virtual GroupFileInfo GetFileInfo (string SessionKey, string id, string path, UID_t target, bool withDownloadInfo=false)=0
 获取文件信息 更多...
 
virtual GroupFileInfo FileMkdir (string SessionKey, string id, string path, UID_t target, string directory)=0
 创建文件夹 更多...
 
virtual void FileDelete (string SessionKey, string id, string path, UID_t target)=0
 删除文件 更多...
 
virtual void FileMove (string SessionKey, string id, string path, UID_t target, string TargetDirId, string TargetDirPath)=0
 移动文件 更多...
 
virtual void FileRename (string SessionKey, string id, string path, UID_t target, string name)=0
 重命名文件 更多...
 
virtual GroupFileInfo FileUpload (string SessionKey, string path, UID_t target, string type, string name, string content)=0
 上传文件 更多...
 
virtual GroupFileInfo FileUploadChunked (string SessionKey, string path, UID_t target, string type, string name, std::function< bool(size_t offset, std::ostream &sink, bool &finish)> ContentProvider)=0
 分块上传文件 更多...
 
virtual MiraiImage UploadImage (string SessionKey, string type, string image)=0
 上传图片 更多...
 
virtual MiraiImage UploadImageChunked (string SessionKey, string type, std::function< bool(size_t offset, std::ostream &sink, bool &finish)> ContentProvider)=0
 分块上传图片 更多...
 
virtual MiraiAudio UploadAudio (string SessionKey, string type, string Audio)=0
 上传音频 更多...
 
virtual MiraiAudio UploadAudioChunked (string SessionKey, string type, std::function< bool(size_t offset, std::ostream &sink, bool &finish)> ContentProvider)=0
 分块上传音频 更多...
 
virtual void DeleteFriend (string SessionKey, QQ_t target)=0
 删除好友 更多...
 
virtual void Mute (string SessionKey, GID_t target, QQ_t member, std::chrono::seconds time)=0
 禁言群成员 更多...
 
virtual void Unmute (string SessionKey, GID_t target, QQ_t member)=0
 解除群成员禁言 更多...
 
virtual void Kick (string SessionKey, GID_t target, QQ_t member, string message, bool block)=0
 移除群成员 更多...
 
virtual void Quit (string SessionKey, GID_t target)=0
 退出群聊 更多...
 
virtual void MuteAll (string SessionKey, GID_t target)=0
 全体禁言 更多...
 
virtual void UnmuteAll (string SessionKey, GID_t target)=0
 解除全体禁言 更多...
 
virtual void SetEssence (string SessionKey, MessageId_t id, GID_t target)=0
 设置群精华消息 更多...
 
virtual GroupConfig GetGroupConfig (string SessionKey, GID_t target)=0
 获取群设置 更多...
 
virtual void SetGroupConfig (string SessionKey, GID_t target, string name, std::optional< bool > AllowConfessTalk=std::nullopt, std::optional< bool > AllowMemberInvite=std::nullopt, std::optional< bool > AutoApprove=std::nullopt, std::optional< bool > AllowAnonymousChat=std::nullopt)=0
 修改群设置 更多...
 
virtual GroupMember GetMemberInfo (string SessionKey, GID_t target, QQ_t member)=0
 获取群员设置 更多...
 
virtual void SetMemberInfo (string SessionKey, GID_t target, QQ_t member, string name, string title)=0
 修改群员设置 更多...
 
virtual void MemberAdmin (string SessionKey, GID_t target, QQ_t member, bool assign)=0
 修改群员管理员 更多...
 
virtual std::vector< GroupAnnouncementAnnoList (string SessionKey, GID_t target, int64_t offset=0, int64_t size=0)=0
 获取群公告 更多...
 
virtual GroupAnnouncement AnnoPublish (string SessionKey, GID_t target, string content, string url, string path, string base64, bool ToNewMember=false, bool pinned=false, bool ShowEditCard=false, bool ShowPopup=false, bool RequireConfirm=false)=0
 发布群公告 更多...
 
virtual void AnnoDelete (string SessionKey, GID_t target, string fid)=0
 删除群公告 更多...
 
virtual void RespNewFriendRequestEvent (string SessionKey, int64_t EventId, QQ_t FromId, GID_t GroupId, int operate, string message)=0
 添加好友申请 更多...
 
virtual void RespMemberJoinRequestEvent (string SessionKey, int64_t EventId, QQ_t FromId, GID_t GroupId, int operate, string message)=0
 用户入群申请 更多...
 
virtual void RespBotInvitedJoinGroupRequestEvent (string SessionKey, int64_t EventId, QQ_t FromId, GID_t GroupId, int operate, string message)=0
 Bot被邀请入群申请 更多...
 
virtual void CmdExecute (string SessionKey, const MessageChain &command)=0
 执行命令 更多...
 
virtual void CmdExecute (string SessionKey, MessageChain &&command)=0
 执行命令 更多...
 
virtual void CmdRegister (string SessionKey, string name, std::vector< string > alias, string usage, string description)=0
 注册命令 更多...
 
virtual string CallAPI (const string &path, const string &method, const string &data)=0
 Call any api, just in case 更多...
 

Protected 成员函数

 IAdaptor ()=default
 

详细描述

在文件 IAdaptor.hpp30 行定义.

成员类型定义说明

◆ Callback

template<typename... Args>
using Mirai::IAdaptor::Callback = std::function<void(Args...)>

在文件 IAdaptor.hpp36 行定义.

◆ string

using Mirai::IAdaptor::string = std::string

在文件 IAdaptor.hpp37 行定义.

构造及析构函数说明

◆ IAdaptor()

Mirai::IAdaptor::IAdaptor ( )
protecteddefault

◆ ~IAdaptor()

virtual Mirai::IAdaptor::~IAdaptor ( )
virtualdefault

成员函数说明

◆ OnConnectionEstablished()

virtual void Mirai::IAdaptor::OnConnectionEstablished ( Callback< ClientConnectionEstablishedEvent )
pure virtual

Register callback for ConnectionEstablished event

◆ OnRecv()

virtual void Mirai::IAdaptor::OnRecv ( Callback< const string & >  )
pure virtual

Register callback for receiving content

◆ OnConnectionError()

virtual void Mirai::IAdaptor::OnConnectionError ( Callback< ClientConnectionErrorEvent )
pure virtual

Register callback for ConnectionError event

◆ OnConnectionClosed()

virtual void Mirai::IAdaptor::OnConnectionClosed ( Callback< ClientConnectionClosedEvent )
pure virtual

Register callback for ConnectionClosed event

◆ Connect()

virtual void Mirai::IAdaptor::Connect ( )
pure virtual

Called for opening a session to mirai-api-http

Connect should not return before ConnectionEstablished callback is called. SessionKey is obtained through ConnectionEstablished callback.

◆ Disconnect()

virtual void Mirai::IAdaptor::Disconnect ( string  SessionKey)
pure virtual

Called for closing a session

Disconnect should not return before ConnectionClosed callback is called

◆ Version()

virtual string Mirai::IAdaptor::Version ( )
pure virtual

获取版本号

◆ GetBotQQ()

virtual QQ_t Mirai::IAdaptor::GetBotQQ ( )
pure virtual

获取Bot账号

◆ BotList()

virtual std::vector< QQ_t > Mirai::IAdaptor::BotList ( )
pure virtual

获取登录账号

◆ MessageFromId()

virtual std::variant< FriendMessageEvent, GroupMessageEvent, TempMessageEvent, StrangerMessageEvent > Mirai::IAdaptor::MessageFromId ( string  SessionKey,
MessageId_t  id,
UID_t  target 
)
pure virtual

通过messageId获取消息

◆ FriendList()

virtual std::vector< User > Mirai::IAdaptor::FriendList ( string  SessionKey)
pure virtual

获取好友列表

◆ GroupList()

virtual std::vector< Group > Mirai::IAdaptor::GroupList ( string  SessionKey)
pure virtual

获取群列表

◆ MemberList()

virtual std::vector< GroupMember > Mirai::IAdaptor::MemberList ( string  SessionKey,
GID_t  target 
)
pure virtual

获取群成员列表

◆ LatestMemberList()

virtual std::vector< GroupMember > Mirai::IAdaptor::LatestMemberList ( string  SessionKey,
GID_t  target 
)
pure virtual

获取最新群成员列表

◆ GetBotProfile()

virtual UserProfile Mirai::IAdaptor::GetBotProfile ( string  SessionKey)
pure virtual

获取Bot资料

◆ GetFriendProfile()

virtual UserProfile Mirai::IAdaptor::GetFriendProfile ( string  SessionKey,
QQ_t  target 
)
pure virtual

获取好友资料

◆ GetMemberProfile()

virtual UserProfile Mirai::IAdaptor::GetMemberProfile ( string  SessionKey,
GID_t  target,
QQ_t  MemberId 
)
pure virtual

获取群成员资料

◆ GetUserProfile()

virtual UserProfile Mirai::IAdaptor::GetUserProfile ( string  SessionKey,
QQ_t  target 
)
pure virtual

获取QQ用户资料

◆ SendFriendMessage() [1/2]

virtual MessageId_t Mirai::IAdaptor::SendFriendMessage ( string  SessionKey,
QQ_t  qq,
const MessageChain message,
std::optional< MessageId_t QuoteId = std::nullopt 
)
pure virtual

发送好友消息

◆ SendFriendMessage() [2/2]

virtual MessageId_t Mirai::IAdaptor::SendFriendMessage ( string  SessionKey,
QQ_t  qq,
MessageChain &&  message,
std::optional< MessageId_t QuoteId = std::nullopt 
)
pure virtual

发送好友消息

◆ SendGroupMessage() [1/2]

virtual MessageId_t Mirai::IAdaptor::SendGroupMessage ( string  SessionKey,
GID_t  group,
const MessageChain message,
std::optional< MessageId_t QuoteId = std::nullopt 
)
pure virtual

发送群消息

◆ SendGroupMessage() [2/2]

virtual MessageId_t Mirai::IAdaptor::SendGroupMessage ( string  SessionKey,
GID_t  group,
MessageChain &&  message,
std::optional< MessageId_t QuoteId = std::nullopt 
)
pure virtual

发送群消息

◆ SendTempMessage() [1/2]

virtual MessageId_t Mirai::IAdaptor::SendTempMessage ( string  SessionKey,
QQ_t  qq,
GID_t  group,
const MessageChain message,
std::optional< MessageId_t QuoteId = std::nullopt 
)
pure virtual

发送临时会话消息

◆ SendTempMessage() [2/2]

virtual MessageId_t Mirai::IAdaptor::SendTempMessage ( string  SessionKey,
QQ_t  qq,
GID_t  group,
MessageChain &&  message,
std::optional< MessageId_t QuoteId = std::nullopt 
)
pure virtual

发送临时会话消息

◆ SendNudge()

virtual void Mirai::IAdaptor::SendNudge ( string  SessionKey,
QQ_t  target,
UID_t  subject,
NudgeType  kind 
)
pure virtual

发送头像戳一戳消息

◆ Recall()

virtual void Mirai::IAdaptor::Recall ( string  SessionKey,
MessageId_t  id,
UID_t  target 
)
pure virtual

撤回消息

◆ RoamingMessages()

virtual std::vector< MessageChain > Mirai::IAdaptor::RoamingMessages ( string  SessionKey,
std::time_t  TimeStart,
std::time_t  TimeEnd,
UID_t  target 
)
pure virtual

获取漫游消息

◆ FileList()

virtual std::vector< GroupFileInfo > Mirai::IAdaptor::FileList ( string  SessionKey,
string  id,
string  path,
UID_t  target,
int64_t  offset = 0,
int64_t  size = 0,
bool  withDownloadInfo = false 
)
pure virtual

查看文件列表

◆ GetFileInfo()

virtual GroupFileInfo Mirai::IAdaptor::GetFileInfo ( string  SessionKey,
string  id,
string  path,
UID_t  target,
bool  withDownloadInfo = false 
)
pure virtual

获取文件信息

◆ FileMkdir()

virtual GroupFileInfo Mirai::IAdaptor::FileMkdir ( string  SessionKey,
string  id,
string  path,
UID_t  target,
string  directory 
)
pure virtual

创建文件夹

◆ FileDelete()

virtual void Mirai::IAdaptor::FileDelete ( string  SessionKey,
string  id,
string  path,
UID_t  target 
)
pure virtual

删除文件

◆ FileMove()

virtual void Mirai::IAdaptor::FileMove ( string  SessionKey,
string  id,
string  path,
UID_t  target,
string  TargetDirId,
string  TargetDirPath 
)
pure virtual

移动文件

◆ FileRename()

virtual void Mirai::IAdaptor::FileRename ( string  SessionKey,
string  id,
string  path,
UID_t  target,
string  name 
)
pure virtual

重命名文件

◆ FileUpload()

virtual GroupFileInfo Mirai::IAdaptor::FileUpload ( string  SessionKey,
string  path,
UID_t  target,
string  type,
string  name,
string  content 
)
pure virtual

上传文件

◆ FileUploadChunked()

virtual GroupFileInfo Mirai::IAdaptor::FileUploadChunked ( string  SessionKey,
string  path,
UID_t  target,
string  type,
string  name,
std::function< bool(size_t offset, std::ostream &sink, bool &finish)>  ContentProvider 
)
pure virtual

分块上传文件

注意
Experimental API

◆ UploadImage()

virtual MiraiImage Mirai::IAdaptor::UploadImage ( string  SessionKey,
string  type,
string  image 
)
pure virtual

上传图片

◆ UploadImageChunked()

virtual MiraiImage Mirai::IAdaptor::UploadImageChunked ( string  SessionKey,
string  type,
std::function< bool(size_t offset, std::ostream &sink, bool &finish)>  ContentProvider 
)
pure virtual

分块上传图片

注意
Experimental API

◆ UploadAudio()

virtual MiraiAudio Mirai::IAdaptor::UploadAudio ( string  SessionKey,
string  type,
string  Audio 
)
pure virtual

上传音频

◆ UploadAudioChunked()

virtual MiraiAudio Mirai::IAdaptor::UploadAudioChunked ( string  SessionKey,
string  type,
std::function< bool(size_t offset, std::ostream &sink, bool &finish)>  ContentProvider 
)
pure virtual

分块上传音频

注意
Experimental API

◆ DeleteFriend()

virtual void Mirai::IAdaptor::DeleteFriend ( string  SessionKey,
QQ_t  target 
)
pure virtual

删除好友

◆ Mute()

virtual void Mirai::IAdaptor::Mute ( string  SessionKey,
GID_t  target,
QQ_t  member,
std::chrono::seconds  time 
)
pure virtual

禁言群成员

◆ Unmute()

virtual void Mirai::IAdaptor::Unmute ( string  SessionKey,
GID_t  target,
QQ_t  member 
)
pure virtual

解除群成员禁言

◆ Kick()

virtual void Mirai::IAdaptor::Kick ( string  SessionKey,
GID_t  target,
QQ_t  member,
string  message,
bool  block 
)
pure virtual

移除群成员

◆ Quit()

virtual void Mirai::IAdaptor::Quit ( string  SessionKey,
GID_t  target 
)
pure virtual

退出群聊

◆ MuteAll()

virtual void Mirai::IAdaptor::MuteAll ( string  SessionKey,
GID_t  target 
)
pure virtual

全体禁言

◆ UnmuteAll()

virtual void Mirai::IAdaptor::UnmuteAll ( string  SessionKey,
GID_t  target 
)
pure virtual

解除全体禁言

◆ SetEssence()

virtual void Mirai::IAdaptor::SetEssence ( string  SessionKey,
MessageId_t  id,
GID_t  target 
)
pure virtual

设置群精华消息

◆ GetGroupConfig()

virtual GroupConfig Mirai::IAdaptor::GetGroupConfig ( string  SessionKey,
GID_t  target 
)
pure virtual

获取群设置

◆ SetGroupConfig()

virtual void Mirai::IAdaptor::SetGroupConfig ( string  SessionKey,
GID_t  target,
string  name,
std::optional< bool >  AllowConfessTalk = std::nullopt,
std::optional< bool >  AllowMemberInvite = std::nullopt,
std::optional< bool >  AutoApprove = std::nullopt,
std::optional< bool >  AllowAnonymousChat = std::nullopt 
)
pure virtual

修改群设置

◆ GetMemberInfo()

virtual GroupMember Mirai::IAdaptor::GetMemberInfo ( string  SessionKey,
GID_t  target,
QQ_t  member 
)
pure virtual

获取群员设置

◆ SetMemberInfo()

virtual void Mirai::IAdaptor::SetMemberInfo ( string  SessionKey,
GID_t  target,
QQ_t  member,
string  name,
string  title 
)
pure virtual

修改群员设置

◆ MemberAdmin()

virtual void Mirai::IAdaptor::MemberAdmin ( string  SessionKey,
GID_t  target,
QQ_t  member,
bool  assign 
)
pure virtual

修改群员管理员

◆ AnnoList()

virtual std::vector< GroupAnnouncement > Mirai::IAdaptor::AnnoList ( string  SessionKey,
GID_t  target,
int64_t  offset = 0,
int64_t  size = 0 
)
pure virtual

获取群公告

◆ AnnoPublish()

virtual GroupAnnouncement Mirai::IAdaptor::AnnoPublish ( string  SessionKey,
GID_t  target,
string  content,
string  url,
string  path,
string  base64,
bool  ToNewMember = false,
bool  pinned = false,
bool  ShowEditCard = false,
bool  ShowPopup = false,
bool  RequireConfirm = false 
)
pure virtual

发布群公告

◆ AnnoDelete()

virtual void Mirai::IAdaptor::AnnoDelete ( string  SessionKey,
GID_t  target,
string  fid 
)
pure virtual

删除群公告

◆ RespNewFriendRequestEvent()

virtual void Mirai::IAdaptor::RespNewFriendRequestEvent ( string  SessionKey,
int64_t  EventId,
QQ_t  FromId,
GID_t  GroupId,
int  operate,
string  message 
)
pure virtual

添加好友申请

◆ RespMemberJoinRequestEvent()

virtual void Mirai::IAdaptor::RespMemberJoinRequestEvent ( string  SessionKey,
int64_t  EventId,
QQ_t  FromId,
GID_t  GroupId,
int  operate,
string  message 
)
pure virtual

用户入群申请

◆ RespBotInvitedJoinGroupRequestEvent()

virtual void Mirai::IAdaptor::RespBotInvitedJoinGroupRequestEvent ( string  SessionKey,
int64_t  EventId,
QQ_t  FromId,
GID_t  GroupId,
int  operate,
string  message 
)
pure virtual

Bot被邀请入群申请

◆ CmdExecute() [1/2]

virtual void Mirai::IAdaptor::CmdExecute ( string  SessionKey,
const MessageChain command 
)
pure virtual

执行命令

◆ CmdExecute() [2/2]

virtual void Mirai::IAdaptor::CmdExecute ( string  SessionKey,
MessageChain &&  command 
)
pure virtual

执行命令

◆ CmdRegister()

virtual void Mirai::IAdaptor::CmdRegister ( string  SessionKey,
string  name,
std::vector< string alias,
string  usage,
string  description 
)
pure virtual

注册命令

◆ CallAPI()

virtual string Mirai::IAdaptor::CallAPI ( const string path,
const string method,
const string data 
)
pure virtual

Call any api, just in case


该类的文档由以下文件生成: