@kotori-bot/core
Version:
Kotori Core
145 lines (144 loc) • 3.45 kB
TypeScript
import type { Message, MessageMapping } from '../types';
import type { Adapter } from './adapter';
/**
* Elements handler base class.
*
* @abstract
*/
export declare abstract class Elements {
/**
* Adapter instance.
*
* @readonly
*/
readonly adapter: Adapter<any, any, any>;
/**
* Decode a elements handler.
*
* @param adapter - Adapter instance
*/
constructor(adapter: Adapter<any, any, any>);
/**
* Encode raw message string to `Message`.
*
* @param raw - Raw message
* @param meta - Message metadata
* @returns Encoded message
*
* @abstract
*/
abstract encode(raw: string, meta?: object): Message;
/**
* Decode `Message` elements to string.
*
* @param message - Message to decode
* @param meta - Message metadata
* @returns Decoded message
*
* @abstract
*/
abstract decode(message: Message, meta?: object): string;
/**
* Decode a mention message.
*
* @param userId - User id
* @param meta - Message metadata
* @returns Mention message
*
* @deprecated
*/
mention(userId: string, meta?: object): string;
/**
* Decode a mention all message.
*
* @param meta - Message metadata
* @returns Mention all message
*
* @deprecated
*/
mentionAll(meta?: object): string;
/**
* Decode an image message.
*
* @param content - Image content
* @param meta - Message metadata
* @returns Image message
*
* @deprecated
*/
image(content: string, meta?: object): string;
/**
* Decode a voice message.
*
* @param content - Voice content
* @param meta - Message metadata
* @returns Voice message
*
* @deprecated
*/
voice(content: string, meta?: object): string;
/**
* Decode an audio message.
*
* @param content - Audio content
* @param meta - Message metadata
* @returns Audio message
*
* @deprecated
*/
audio(content: string, meta?: object): string;
/**
* Decode a video message.
*
* @param content - Video content
* @param meta - Message metadata
* @returns Video message
*
* @deprecated
*/
video(content: string, meta?: object): string;
/**
* Decode a file message.
*
* @param content - File content
* @param meta - Message metadata
* @returns File message
*
* @deprecated
*/
file(content: string, meta?: object): string;
/**
* Decode a location message.
*
* @param latitude - Latitude
* @param longitude - Longitude
* @param title - Title
* @param content - Content
* @param meta - Message metadata
* @returns Location message
*
* @deprecated
*/
location(latitude: number, longitude: number, title: string, content: string, meta?: object): string;
/**
* Decode a reply message.
*
* @param messageId - Message id
* @param meta - Message metadata
* @returns Reply message
*
* @deprecated
*/
reply(messageId: string, meta?: object): string;
/**
* Get supported elements.
*
* @returns Supported elements
*
* @abstract
*
* @deprecated
*/
abstract getSupportsElements(): (keyof MessageMapping)[];
}
export default Elements;