umbot
Version:
Мультиплатформенный фреймворк для создания голосовых навыков и чат-ботов с единой бизнес-логикой. Встроенная поддержка ВКонтакте, Telegram, Viber, MAX, Яндекс Алисы, Маруси и Сбера SmartApp. Архитектура на адаптерах позволяет подключать любые другие платф
57 lines (56 loc) • 2.67 kB
TypeScript
import { IMaxSendMessage, IMaxParams, IMaxAppApi } from './interfaces';
import { IMaxUploadFile, TMaxUploadFile } from './interfaces/IMaxAppApi';
import { AppContext } from '../../../index';
/**
* Класс для взаимодействия с API Max
* Предоставляет методы для отправки сообщений, загрузки файлов
* @see (https://dev.max.ru/docs-api) Смотри тут
*/
export declare class MaxRequest {
#private;
/**
* Токен доступа к Max API
*/
token: string | null;
/**
* Флаг для прямой передачи содержимого файла
* По умолчанию: false
*/
isAttachContent: boolean;
/**
* Создает экземпляр класса для работы с API ВКонтакте
* Устанавливает токен из конфигурации приложения, если он доступен
*/
constructor(appContext: AppContext);
/**
* Инициализирует токен доступа к MAX API
* @param token Токен доступа к MAX API
*/
initToken(token: string): void;
/**
* Выполняет вызов метода MAX API
* @param method Название метода MAX API
* @returns Результат выполнения метода или null при ошибке
*/
call<T extends IMaxAppApi>(method: string): Promise<T | null>;
/**
* Загружает файл на сервера Max
* @param file Путь к файлу или его содержимое
* @param type Тип загружаемого файла
* @returns Информация о загруженном файле или null при ошибке
*/
upload(file: string, type: TMaxUploadFile): Promise<IMaxUploadFile | null>;
/**
* Отправляет сообщение пользователю или в чат
* @param peerId Идентификатор получателя:
* @param message Текст сообщения
* @param params Дополнительные параметры:
* @returns Информация об отправленном сообщении или null при ошибке
*/
messagesSend(peerId: number | string, message: string, params?: IMaxParams | null): Promise<IMaxSendMessage | null>;
/**
* Регистрирует событие для получения уведомлений о новых сообщениях в MAX
* @param url
*/
subscriptions(url: string): Promise<unknown>;
}