Skip to content

NativeAPIs

PeratX edited this page Aug 23, 2020 · 2 revisions

Mirai Native 开发文档

目前为止,所有Mirai Native独有方法都位于CQP.dll,将来可能改变位置。

Mirai Native独有API采用__stdcall方式导出,暂时采用酷Q风格传递复杂对象。

易语言支持 Mirai Native Advance SDK(建设中),见epl-test\sdk.e

二进制编码规则

基本同酷Q,二进制编码完成后进行Base64编码。

  1. 编码字符串:字符串长度(Short)+字符串(ByteArray)
  2. 编码数组:数组元素数量(Short)+数组元素

Mirai Native 事件和方法

pluginInfo

  • 描述:返回插件的JSON数据。如果插件实现了此方法,Mirai Native就能直接从DLL中取得插件的JSON数据。如果独立的JSON文件同时存在,将优先从JSON文件中读取信息。
  • 参数:无
  • 返回值:const char*

Mirai Native APIs

isMiraiNative

  • 描述:判断是否为 Mirai Native环境
  • 参数:无
  • 返回值:int32_t,永远为1

mQuoteMessage

  • 描述:引用回复一条消息
  • 参数:
  1. int32_t plugin_id Native插件ID,启动时分配
  2. int32_t msg_id 需要引用的消息ID
  3. const char* msg 需要发送的消息
  • 返回值:int32_t,发送后的消息ID

mForwardMessage

  • 描述:合并转发消息
  • 参数:
  1. int32_t plugin_id Native插件ID,启动时分配
  2. int32_t type 消息发送对象类型,0为好友,1为群
  3. int64_t id 好友或群ID
  4. const char* strategy 发送策略,见下文,可为空
  5. const char* msg 转发消息体,见下文
  • 返回值:int32_t,发送后的消息ID

  • 发送策略编码规则:

名称 类型 描述
Title String 标题
Brief String 显示在消息列表中的预览
Source String 目前未发现在哪能显示
Summary String 显示在卡片底部
Preview StringArray 显示在卡片 body 中, 只会显示 sequence 前四个元素
  • 消息体编码规则
名称 类型 描述
消息体 MessageArray 见下文具体编码
  • Message编码
名称 类型 描述
发送者 Long 发送者QQ号,0时为bot自己
名称 String 发送者QQ名称,为空时:如果发送到群时为群名片,为好友时为好友备注
发送时间 Long 为空时会自动从前往后排序
消息 String 支持CQ码的消息,如果不发送到群时,At消息请用纯文本