wechaty-puppet-official-account
Version:
Wechaty Puppet for WeChat Official Accounts
49 lines • 1.61 kB
TypeScript
/// <reference types="node" />
import http from 'http';
import express from 'express';
import localtunnel from 'localtunnel';
import type TypedEventEmitter from 'typed-emitter';
import type { OAMessagePayload, OAMessageType } from './schema.js';
declare const WebhookEventEmitter: new () => TypedEventEmitter<{
message: (message: OAMessagePayload) => void;
instantReply: (message: {
touser: string;
msgtype: OAMessageType;
content: string;
}) => void;
}>;
export interface VerifyArgs {
timestamp: string;
nonce: string;
signature: string;
}
interface WebhookOptions {
personalMode?: boolean;
port?: number;
webhookProxyUrl?: string;
verify: (args: VerifyArgs) => boolean;
}
declare class Webhook extends WebhookEventEmitter {
protected options: WebhookOptions;
protected server?: http.Server;
protected tunnel?: localtunnel.Tunnel;
protected personalMode?: boolean;
protected messageCache?: any;
protected userOpen?: any;
readonly webhookProxyHost?: string;
readonly webhookProxySchema?: string;
readonly webhookProxySubDomain?: string;
constructor(options: WebhookOptions);
parseWebhookProxyUrl(webhookProxyUrl: string): undefined | {
host: string;
name: string;
schema: string;
};
start(): Promise<void>;
stop(): Promise<void>;
setupTunnel(port: number): Promise<void>;
appGet(req: express.Request, res: express.Response): void;
appPost(req: express.Request, res: express.Response): Promise<void>;
}
export { Webhook };
//# sourceMappingURL=webhook.d.ts.map