import Koa from 'koa'; import { BotInstance } from '../BotInstance'; import { KHEventPacket } from '../types/kaiheila/packet'; import { MessageSource } from './MessageSource'; export default class WebhookSource extends MessageSource { type: string; private snMap; private key?; verifyToken?: string; port: number; httpServer?: Koa; connect: () => Promise; constructor(self: BotInstance, config?: { key?: string; port: number; verifyToken?: string; }); /** * 获取中间件 * 可用于共用Koa实例。 */ getMiddleware(): Koa.Middleware; private route; protected onEventArrive(packet: KHEventPacket): void; /** * 解密 * @param request 请求体 */ private decryptRequest; private verifyRequest; private verifySN; private handleChallenge; /** * 启动监听 * * webhook模式下会在指定端口号启动一个http服务 */ listen(): Promise; }