UNPKG

ntqq

Version:
168 lines (167 loc) 4.56 kB
import { Forwardable, Quotable, Sendable, MessageElem } from "./elements"; import { Parser } from './parser'; import * as pb from '../core/protobuf'; import { GroupRole } from '../common'; export declare function rand2uuid(rand: number): bigint; export declare function uuid2rand(uuid: bigint): number; /** 匿名情报 */ export interface Anonymous { /** 是否可以匿名发言 */ enable: boolean; flag: string; id: number; id2: number; name: string; expire_time: number; color: string; } /** 频道发消息的返回值 */ export interface GuildMessageRet { seq: number; rand: number; time: number; } export declare abstract class Message implements Quotable, Forwardable { protected readonly parsed: Parser; post_type: "message"; message: Sendable; rand: number; seq: number; time: number; user_id: number; uid: string; font: string; raw_message: string; source?: Quotable; get mentions(): (number | "all")[]; static deserialize(serialized: Buffer): PrivateMessage; protected constructor(proto: pb.Proto); toString(): string; } export declare class PrivateMessage extends Message { message_type: "private"; sub_type: "friend" | "group" | "temp" | "self"; /** 发送方账号 */ from_id: number; /** 接收方账号 */ to_id: number; /** 是否为自动回复 */ auto_reply: boolean; /** 发送方信息 */ sender: { group_id: undefined; /** 账号 */ user_id: number; /** 昵称 */ nickname: string; }; constructor(proto: pb.Proto); } export declare class TempMessage extends Message { message_type: "private"; sub_type: "friend" | "group" | "temp" | "self"; group_id: number; group_name: string; /** 匿名信息,{@link sub_type} 为`"anonymous"`时该属性有效 */ anonymous: Anonymous | null; /** 发送方账号 */ from_id: number; /** 接收方账号 */ to_id: number; /** 是否为自动回复 */ auto_reply: boolean; /** 发送方信息 */ sender: { /** 账号 */ user_id: number; /** 昵称 */ nickname: string; card: string; /** 群号,当消息来自群聊时有效 */ group_id: number | undefined; }; constructor(proto: pb.Proto); } export declare class GroupMessage extends Message { message_type: "group"; sub_type: "friend" | "group" | "temp" | "self"; group_id: number; group_name: string; atme: boolean; atall: boolean; /** 发送方信息 */ sender: { /** 账号 */ user_id: number; /** 昵称 */ nickname: string; /** subId */ sub_id: string; /** 名片 */ card: string; /** 等级 */ level: number; /** 权限 */ role: GroupRole; /** 头衔 */ title: string; }; constructor(proto: pb.Proto); } /** 一条转发消息 */ export declare class ForwardMessage implements Forwardable { protected proto: pb.Proto; private parsed; /** 账号 */ user_id: number; /** 昵称 */ nickname: string; /** 若转自群聊,则表示群号 */ group_id?: number; /** 发送时间 */ time: number; /** 发送序号 */ seq: number; /** 消息内容 */ message: Sendable; raw_message: string; /** 反序列化一条转发消息 */ static deserialize(serialized: Buffer): ForwardMessage; constructor(proto: pb.Proto); /** 将转发消息序列化保存 */ serialize(): Buffer; /** 以适合人类阅读的形式输出 */ toString(): string; /** @deprecated 转换为CQ码 */ toCqcode(): string; } /** 频道消息事件 */ export declare class GuildMessageEvent { /** 频道id */ guild_id: string; /** 频道名 */ guild_name: string; /** 子频道id */ channel_id: string; /** 子频道名 */ channel_name: string; post_type: 'message'; detail_type: string; /** 消息序号(同一子频道中一般顺序递增) */ seq: number; rand: number; time: number; /** 消息内容 */ message: MessageElem[]; raw_message: string; /** 发送方信息 */ sender: { /** 账号 */ tiny_id: string; /** 昵称 */ nickname: string; }; constructor(proto: pb.Proto); /** 暂时仅支持发送: 文本、AT、表情 */ reply: (content: Sendable) => Promise<GuildMessageRet>; }