votcore
Version:
Vot Kit for Valensas Bots
39 lines (38 loc) • 1.94 kB
TypeScript
import { Card, ChannelClient, ChannelClientInterface, Context, Conversation, GUID, Message, User, VotClient } from './../models';
import { ChannelMessage, ChannelMessageInput, ChannelMessageStatic, ChannelSettings, MessagePayloadType, MessageType, Platform, UrlPayload, UrlReplyOptions, VotChannels } from './../types';
export interface TriggersMessageInput extends ChannelMessageInput {
conversationID: string;
context: Context;
channel: keyof VotChannels;
taskID: string;
platform: Platform;
user: User;
id?: string;
}
export declare class TriggersMessage extends ChannelMessageStatic implements ChannelMessage {
conversationID: string;
context: Context;
platform: Platform;
user: User;
taskID: string;
channel: keyof VotChannels;
id: GUID;
constructor({conversationID, id, context, taskID, channel, platform, user}: TriggersMessageInput);
getDate(): Date;
getMessagePayloadType(): Promise<MessagePayloadType>;
getMessageType(): MessageType;
toMessage(conversation: Conversation, user: User): Promise<Message>;
}
export declare class TriggersClient extends ChannelClient implements ChannelClientInterface {
kind: keyof VotChannels;
constructor();
static getConversationIdentifier(conversation: Conversation): string;
getUser(message: ChannelMessage): Promise<User>;
saveContext(votClient: VotClient, conversation: Conversation): Promise<string>;
endConversation(votClient: VotClient, conversation: Conversation): Promise<void>;
receiveMessage(votClient: VotClient, input: TriggersMessageInput, settings?: ChannelSettings): Promise<Message | null>;
sendMessage(message: Message): Promise<Object>;
textReply(incoming: Message, payload: string): Promise<Object>;
urlReply(incoming: Message, payload: UrlPayload, options: UrlReplyOptions): Promise<Object>;
cardReply(incoming: Message, payload: Card[]): Promise<Object>;
}