29 lines
806 B
TypeScript
29 lines
806 B
TypeScript
|
import { UserConfig } from "../config";
|
||
|
import { Message, User } from "./message";
|
||
|
|
||
|
export interface FetchOptions {
|
||
|
limit?: number;
|
||
|
before?: string;
|
||
|
after?: string;
|
||
|
}
|
||
|
|
||
|
export interface PlatformAdapter {
|
||
|
onMessage(callback: (message: Message) => void): void;
|
||
|
sendMessage(channelId: string, content: string): Promise<void>;
|
||
|
fetchMessages(channelId: string, options: FetchOptions): Promise<Message[]>;
|
||
|
fetchMessageById(
|
||
|
channelId: string,
|
||
|
messageId: string
|
||
|
): Promise<Message | null>;
|
||
|
getBotId(): string; // For identifying bot's own messages
|
||
|
getUserById(userId: string): UserConfig | null;
|
||
|
sendSystemLog?(content: string): Promise<void>;
|
||
|
searchUser(query: string): Promise<User[]>;
|
||
|
config: {
|
||
|
indicators: {
|
||
|
typing: boolean;
|
||
|
processing: boolean;
|
||
|
};
|
||
|
};
|
||
|
}
|