bottender
Version:
A framework for building conversational user interfaces.
62 lines • 2.27 kB
TypeScript
/// <reference types="node" />
import { EventEmitter } from 'events';
import { JsonObject } from 'type-fest';
import { ViberClient } from 'messaging-api-viber';
import Session from '../session/Session';
import { Connector } from '../bot/Connector';
import ViberContext from './ViberContext';
import ViberEvent from './ViberEvent';
import { Sender, ViberRawEvent, ViberRequestBody, ViberRequestContext } from './ViberTypes';
declare type ConnectorOptionsWithoutClient = {
accessToken: string;
sender: Sender;
origin?: string;
skipLegacyProfile?: boolean;
};
declare type ConnectorOptionsWithClient = {
client: ViberClient;
skipLegacyProfile?: boolean;
};
export declare type ViberConnectorOptions = ConnectorOptionsWithoutClient | ConnectorOptionsWithClient;
export default class ViberConnector implements Connector<ViberRequestBody, ViberClient> {
_accessToken: string;
_client: ViberClient;
_skipLegacyProfile: boolean;
constructor(options: ViberConnectorOptions);
_getRawEventFromRequest(body: ViberRequestBody): ViberRawEvent;
get platform(): 'viber';
get client(): ViberClient;
getUniqueSessionKey(body: ViberRequestBody): string;
updateSession(session: Session, body: ViberRequestBody): Promise<void>;
mapRequestToEvents(body: ViberRequestBody): ViberEvent[];
createContext(params: {
event: ViberEvent;
session: Session | null;
initialState?: JsonObject | null;
requestContext?: ViberRequestContext;
emitter?: EventEmitter | null;
}): ViberContext;
verifySignature(rawBody: string, signature: string): boolean;
preprocess({ method, headers, rawBody }: ViberRequestContext): {
shouldNext: boolean;
response?: undefined;
} | {
shouldNext: boolean;
response: {
status: number;
body: {
error: {
message: string;
request: {
rawBody: string;
headers: {
'x-viber-content-signature': string | undefined;
};
};
};
};
};
};
}
export {};
//# sourceMappingURL=ViberConnector.d.ts.map