lib-wechat
Version:
67 lines (66 loc) • 1.54 kB
TypeScript
/// <reference types="node" />
import { Message } from "./message";
import { Client } from "./client";
interface ElementMap {
text: {
text: string;
};
face: {
id: string;
};
at: {
user_id: string;
};
image: {
file: string;
name?: string;
} | {
file: Buffer;
name: string;
};
video: {
file: string;
name?: string;
} | {
file: Buffer;
name: string;
};
audio: {
file: string;
name?: string;
} | {
file: Buffer;
name: string;
};
file: {
file: string;
name?: string;
} | {
file: Buffer;
name: string;
};
}
export type ElementType = keyof ElementMap;
export type MessageElem<T extends ElementType = ElementType> = {
type: T;
} & ElementMap[T];
export type TextElem = MessageElem<'text'>;
export type FaceElem = MessageElem<'face'>;
export type ImageElem = MessageElem<'image'>;
export type VideoElem = MessageElem<'video'>;
export type AudioElem = MessageElem<'audio'>;
export type FileElem = MessageElem<'file'>;
export type Sendable = string | MessageElem | (string | MessageElem)[];
export declare class Parser {
private c;
message: MessageElem[];
brief: string;
constructor(c: Client);
private downloadMsgImg;
private downloadMsgVideo;
private downloadMsgVoice;
private downloadMsgMedia;
parse(message: Message.Original): Promise<void>;
text(text: string): void;
}
export {};