UNPKG

@apidog/multibot-sdk-ts

Version:
94 lines (93 loc) 2.93 kB
/// <reference types="node" /> import { User, UserDefaultKeys, UserNameCase, Message, Keyboard } from '.'; export interface Config { token: string; groupId: number; lang?: string; apiUrl?: string; apiVersion?: string; } export declare type SendFile = string | Buffer; export declare type UserFieldExtra = Exclude<keyof User, UserDefaultKeys>; export interface Request { (method: 'users.get', params: { user_ids: number | number[] | string | string[]; fields?: UserFieldExtra[]; name_case?: UserNameCase; }): Promise<User[]>; (method: 'groups.getLongPollServer', params: { group_id: number; }): Promise<LongPollProps>; (method: 'messages.send', params: { peer_id: number; message?: string; attachmnt?: string | string[]; reply_to?: number; forward_messaes?: number | number[] | string; sticker_id?: number; keyboard?: Keyboard; payload?: string; dont_parse_links?: 1 | 0; disable_mentions?: 1 | 0; random_id: number; }): Promise<number>; (method: 'messages.edit', params: { peer_id: number; message_id: number; message?: string; attachmnt?: string | string[]; keep_forward_messages?: 1 | 0; keep_snippets?: 1 | 0; }): Promise<1>; (method: 'messages.markAsRead', params: { message_ids?: number | number[]; peer_id?: number; start_message_id?: number; }): Promise<1>; } export interface ApiError { error_code: number; error_message: string; request_params: { key: string; value: string; }[]; } export interface UpdateWrap { ts: string; updates: Update[]; } export declare type Update = UpdateMessageNew | UpdateMessageNewLegacy | UpdateMessageReply | UpdateMessageEdit | UpdateMessageAllow | UpdateMessageDeny; interface UpdateAbsItem<E extends string, T> { type: E; object: T; group_id: number; event_id: string; } export declare type UpdateMessageNew = UpdateAbsItem<'message_new', { message: Message; client_info: ClientInfo; }>; export declare type ClientInfo = { button_actions: ('text' | 'vkpay' | 'open_app' | 'location' | 'open_link')[]; keyboard: boolean; inline_keyboard: boolean; carousel: boolean; lang_id: number; }; export declare type UpdateMessageNewLegacy = UpdateAbsItem<'message_new', Message>; export declare type UpdateMessageReply = UpdateAbsItem<'message_reply', Message>; export declare type UpdateMessageEdit = UpdateAbsItem<'message_edit', Message>; export declare type UpdateMessageAllow = UpdateAbsItem<'message_allow', { user_id: number; key: string; }>; export declare type UpdateMessageDeny = UpdateAbsItem<'message_deny', { user_id: number; }>; export declare type LongPollProps = { ts: string; key: string; server: string; }; export {};