lib-wechat
Version:
96 lines (95 loc) • 2.8 kB
TypeScript
import { MessageElem, Parser, Sendable } from "./elements";
import { Client } from "./client";
import { Dict } from "./types";
import { OriginMessage } from "./core/constanst";
export declare class Message {
c: Client;
private original;
message_id: string;
raw_message: string;
message: MessageElem[];
create_time: number;
time: number;
parser: Parser;
static genMsgId(): number;
constructor(c: Client, original: Message.Original);
parse(): Promise<void>;
forward(user_id: string): Promise<string | string[]>;
[Symbol.unscopables](): {
parser: boolean;
c: boolean;
};
static from(this: Client, original: Message.Original): GroupMessageEvent | PrivateMessageEvent;
}
export declare namespace Message {
interface Sender {
user_id: string;
nickname: string;
card?: string;
}
interface Original {
MsgId: string;
FromUserName: string;
ToUserName: string;
MsgType: OriginMessage;
Content: string;
Status: number;
ImgStatus: number;
CreateTime: number;
VoiceLength: number;
PlayLength: number;
FineName: string;
FileSize: string;
MediaId: string;
Url: string;
AppMsgType: number;
StatusNotifyCode: number;
StatusNotifyUserName: string;
RecommendInfo: Dict;
ForwardFlag: number;
AppInfo: Dict;
HasProductId: number;
Ticket: string;
ImgHeight: number;
ImgWidth: number;
SubMsgType: number;
NewMsgId: number;
OriContent: string;
EncryFileName: string;
}
}
export interface Message {
toJSON(): any;
}
export interface MessageEvent {
c: Client;
sender: Message.Sender;
post_type: 'message';
message_type: 'group' | 'private';
reply(message: Sendable): Promise<string | string[]>;
recall(message_id: string): Promise<boolean>;
}
export declare class PrivateMessageEvent extends Message implements MessageEvent {
c: Client;
post_type: "message";
message_type: "private";
get user_id(): string;
is_self: boolean;
sender: Message.Sender;
constructor(c: Client, original: Message.Original);
reply(message: Sendable): Promise<string | string[]>;
recall(): Promise<boolean>;
}
export declare class GroupMessageEvent extends Message implements MessageEvent {
c: Client;
group_id: string;
get group_name(): string;
post_type: "message";
message_type: "group";
sender: Message.Sender;
get group(): import(".").Group;
get member(): any;
constructor(c: Client, original: Message.Original);
reply(message: Sendable): Promise<string | string[]>;
recall(): Promise<boolean>;
}