amesu
Version:
Node.js SDK for QQ Bot.
160 lines (159 loc) • 4.61 kB
TypeScript
import type { User } from '../model/user';
import type { Member } from '../model/member';
export interface MessageEmbedThumbnail {
/** 图片地址 */
url: string;
}
export interface MessageEmbedField {
/** 字段名 */
name: string;
}
export interface MessageEmbed {
/** 标题 */
title: string;
/** 消息弹窗内容 */
prompt: string;
/** 缩略图 */
thumbnail: MessageEmbedThumbnail;
/** embed 字段数据 */
fields: MessageEmbedField[];
}
export interface MessageArkObjKv {
key: string;
value: string;
}
export interface MessageArkObj {
/** ark obj kv 列表 */
obj_kv: MessageArkObjKv[];
}
export interface MessageArkKv {
key: string;
value: string;
/** ark obj 类型的列表 */
obj: MessageArkObj[];
}
export interface MessageArk {
/** ark 模板 id(需要先申请) */
template_id: number;
/** kv 值列表 */
kv: MessageArkKv;
}
export interface MessageReference {
/** 需要引用回复的消息 id */
message_id: string;
/** 是否忽略获取引用消息详情错误,默认否 */
ignore_get_message_error: boolean;
}
interface MessageMarkdownParams {
/** markdown 模版 key */
key: string;
/** markdown 模版 key 对应的 values ,列表长度大小为 1 代表单 value 值,长度大于 1 则为列表类型的参数 values 传参数 */
values: string[];
}
export interface MessageMarkdown {
/** markdown 模板 id */
template_id: number;
/** markdown 模板模板参数 */
params: MessageMarkdownParams;
/** 原生 markdown 内容,与 `template_id` 和 `params` 参数互斥,参数都传值将报错。 */
content: string;
}
export interface Message {
/** 消息 id */
id: string;
/** 子频道 id */
channel_id: string;
/** 频道 id */
guild_id: string;
/** 消息内容 */
content: string;
/** 消息创建时间 */
timestamp: string;
/** 消息编辑时间 */
edited_timestamp: string;
/** 是否是 @ 全员消息 */
mention_everyone: boolean;
/** 消息创建者 */
author: User;
/** 附件 */
attachments: MessageAttachment[];
/** embed */
embeds: MessageEmbed;
/** 消息中 @ 的人 */
mentions: User[];
/** 消息创建者的 member 信息 */
member: Member;
/** ark 消息 */
ark: MessageArk;
/**
* 用于消息间的排序,seq 在同一子频道中按从先到后的顺序递增,不同的子频道之间消息无法排序。
*
* @deprecated 目前只在消息事件中有值,`2022 年 8 月 1 日`后续废弃。
*/
seq: number;
/** 子频道消息 seq,用于消息间的排序,seq 在同一子频道中按从先到后的顺序递增,不同的子频道之间消息无法排序 */
seq_in_channel: string;
/** 对象 引用消息对象 */
message_reference: MessageReference;
}
interface MessageAttachment {
/** 下载地址 */
url: string;
}
export interface MessageSetting {
/** 是否允许创建私信 */
disable_create_dm: string;
/** 是否允许发主动消息 */
disable_push_msg: string;
/** 子频道 id 数组 */
channel_ids: string[];
/** 每个子频道允许主动推送消息最大消息条数 */
channel_push_max_num: number;
}
export interface PinMessage {
/** 频道 id */
guild_id: string;
/** 子频道 id */
channel_id: string;
/** 子频道内精华消息 id 数组 */
message_ids: string[];
}
export interface MessageAudited {
/** 消息审核 id */
audit_id: string;
/** 消息 id,只有审核通过事件才会有值 */
audit_time: string;
/** 频道 id */
channel_id: string;
/** 子频道 id */
create_time: string;
/** 消息审核时间 */
guild_id: string;
/** 消息创建时间 */
message_id: string;
/** 子频道消息 seq,用于消息间的排序,seq 在同一子频道中按从先到后的顺序递增,不同的子频道之间消息无法排序 */
seq_in_channel: string;
}
export interface ReactionTarget {
/** 表态对象ID */
id: string;
type: number;
}
export interface Emoji {
/** 表情ID,系统表情使用数字为ID,emoji使用emoji本身为id */
id: string;
type: number;
}
export interface MessageReaction {
/** 用户ID */
user_id: string;
/** 频道ID */
guild_id: string;
/** 子频道ID */
channel_id: string;
/** 表态对象 */
target: ReactionTarget;
/** 表态所用表情 */
emoji: Emoji;
}
export {};