Skip to content

消息相关

字数
721 字
阅读时间
4 分钟

文档存在一定的滞后性或者错误,如有问题请提交issue~

提示

如果你不知道如何使用 API,请查看 调用方法

发送消息

Api: SendMessage

请求参数类型必须描述
contact点击跳转发送目标
elementselements消息内容

注意

请各位开发者尽量使用 array ,其他类型的值可能会在未来版本中被废弃

js
// 主动发送消息 直接调用Api
import { 
segment
} from 'node-karin'
const
contact
= {
scene
: 'private',
peer
: '123456789',
} const
elements
= [
segment
.
at
(123456789),
segment
.
text
('Hello World!')
] await this.e.bot.SendMessage(
contact
,
elements
)
js
// 主动发送消息 调用封装过的Api
import { 
Bot
} from 'node-karin'
const
self_id
= 123456789
const
contact
= {
scene
: 'private',
peer
: '123456789',
} // 封装过的支持直接传入字符串 elements await
Bot
.
sendMsg
(
self_id
,
contact
, '这只一条主动消息')
js
// 被动回复消息
import { 
segment
} from 'node-karin'
const
elements
= [
segment
.
at
(123456789),
segment
.
text
('Hello World!')
] // 这里在插件内部,只需要一个参数即可 const
res
= await this.reply(
elements
)
js
// 需要注意,如果发送消息失败,karin会直接抛出一个错误
// 返回的消息ID可能是数字也可能是字符串,如有需要请自行根据适配器判断
res = { message_id: 'a1234567890' }

撤回消息

Api: RecallMessage

请求参数类型必须描述
contact点击跳转发送目标
message_idstring消息ID
js
import { 
Bot
} from 'node-karin'
const
self_id
= 123456789
const
contact
= {
scene
: 'private',
peer
: '123456789',
} const
message_id
= 'a1234567890'
// 获取机器人实例 const
bot
=
Bot
.
getBot
(
self_id
)
const
res
= await
bot
.
RecallMessage
(
contact
,
message_id
)
js
// 此api标准是没有返回值的,如果撤回消息失败,karin会直接抛出一个错误
res = {}

通过message_id获取消息

Api: GetMessage

请求参数类型必须描述
contact点击跳转发送目标
message_idstring消息ID
js
import { 
Bot
} from 'node-karin'
const
self_id
= 123456789
const
contact
= {
scene
: 'private',
peer
: '123456789',
} const
message_id
= 'a1234567890'
// 获取机器人实例 const
bot
=
Bot
.
getBot
(
self_id
)
const
res
= await
bot
.
GetMessage
(
contact
,
message_id
)
js
res = {
  // 消息发送时间
  time: 1631234567890,
  // 消息ID
  message_id: 'a1234567890',
  // 消息序号 这个字段一般没有。
  message_seq: 1234567890,
  contact: {
    scene: 'private',
    peer: '123456789',
  },
  sender: {
    uid: '123456789',
    // 有可能不存在
    uin: '123456789',
    // 有可能不存在
    nick: '昵称',
    // 群聊时有效 有可能不存在 可选值: unknown, member, admin, owner
    role: 'owner',
  },
  elements: [
    // ... 参考 开发指南-elements
  ],
}

通过message_seq获取消息

Api: GetMessageBySeq

此Api是通过 message_seq 获取消息,与 GetMessage 基本相同,这里不再赘述

解决方案
适配器
其他
2024 KarinJS. All Rights Reserved.