koishi-plugin-adapter-wecom
Version:
Koishi 企业微信适配器。
55 lines (54 loc) • 2.2 kB
TypeScript
import { Bot, Fragment, Logger, MaybeArray, Quester, SendOptions, Session, Universal } from 'koishi';
import { WecomEventBody, WecomEvents, WecomMenuDef } from './def';
declare global {
namespace Satori {
interface Session {
wecom?: WecomEventBody;
}
}
}
declare module 'koishi' {
interface Events extends WecomEvents {
}
}
export declare class WeComBotConfig {
corpId: string;
agentId: string;
secret: string;
path: string;
token: string;
encodingAESKey: string;
menus?: WecomMenuDef[];
platform: string;
get selfId(): string;
}
export default class WeComBot extends Bot<Partial<WeComBotConfig>> {
internal: {};
private aragami;
http: Quester;
logger: Logger;
private buttonKeyMap;
private loadAdapter;
private initializeMenu;
private fetchNewToken;
getToken(): Promise<string>;
handleMenuEvent(event: string, session: Session): Promise<void>;
initialize(): Promise<void>;
getSelf(): Promise<Universal.User>;
getUser(userId: string): Promise<Universal.User>;
getFriendList(): Promise<any[]>;
deleteFriend(userId: string): Promise<void>;
getGuild(guildId: string): Promise<any>;
getGuildList(): Promise<any[]>;
getGuildMember(guildId: string, userId: string): Promise<any>;
getGuildMemberList(guildId: string): Promise<any[]>;
getChannel(channelId: string, guildId?: string): Promise<any>;
getChannelList(guildId: string): Promise<any[]>;
handleFriendRequest(messageId: string, approve: boolean, comment?: string): Promise<void>;
handleGuildRequest(messageId: string, approve: boolean, comment?: string): Promise<void>;
handleGuildMemberRequest(messageId: string, approve: boolean, comment?: string): Promise<void>;
deleteMessage(channelId: string, messageId: string): Promise<void>;
sendMessage(channelId: string, content: Fragment, guildId?: string, options?: SendOptions): Promise<string[]>;
sendPrivateMessage(userIds: MaybeArray<string>, content: Fragment, options?: SendOptions): Promise<string[]>;
broadcast(channels: (string | [string, string])[], content: string, delay?: number): Promise<string[]>;
}