@apidog/multibot-sdk-ts
Version:
Telegram and VK bot SDK for TypeScript
94 lines (93 loc) • 2.93 kB
TypeScript
/// <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 {};