umbot
    Preparing search index...

    Module index

    Maxim-M maximco36895@yandex.ru

    umbot — кроссплатформенный TypeScript-фреймворк для разработки голосовых навыков и чат-ботов. Он даёт единую бизнес-логику для всех платформ — но одинаково эффективен, даже если вы работаете только с одной. Поддерживаются: Яндекс.Алиса, Маруся, Сбер Салют, а также Telegram, VK, MAX и Viber из коробки.

    • Создание голосовых навыков для Алисы, Маруси и Сбер Салют (SmartApp)
    • Разработка чат-ботов для Telegram, Viber, VK и MAX
    • Создание навыка/бота для любой платформы
    • Единая логика для голосовых и текстовых интерфейсов (навыки/чат-боты)
    • Гибкая система команд, интентов и многошаговых диалогов
    • Встроенная работа с состоянием (локальное хранилище, БД Mongo из коробки)
    • UI-компоненты: кнопки, карточки, звуки, TTS
    • Middleware, плагины, метрики и логирование
    • Расширяемость: легко добавить новую платформу через адаптер

    Основная работа приложения основана на использовании Bot, который отвечает за всё взаимодействие с платформами и обработку запросов.

    Подробнее о каждом компоненте читайте в соответствующих разделах документации.

    // Минимальный пример работы
    import { Bot, FALLBACK_COMMAND, HELP_INTENT_NAME, WELCOME_INTENT_NAME } from 'umbot';
    import { fullPlatforms } from 'umbot/plugins';

    const bot = new Bot()
    .use(fullPlatforms) // Подключаем все доступные платформы
    .setAppConfig({ json: './data', isLocalStorage: true }) // Директория для данных и локальное хранилище
    .addCommand(WELCOME_INTENT_NAME, ['привет'], (_: string, bc: BotController) => {
    bc.text = 'Привет! Я новый навык.';
    bc.buttons.addBtn('Помощь');
    })
    .addCommand(HELP_INTENT_NAME, ['помощь'], (_: string, bc: BotController) => {
    bc.text = 'Я умею отвечать на команды и показывать кнопки';
    })
    .addCommand(FALLBACK_COMMAND, [], (_: string, bc: BotController) => {
    bc.text = bc.userCommand || 'Вы ничего не сказали';
    }) // Если команда не найдена
    .start('localhost', 3000);

    Namespaces

    SoundConstants

    Enumerations

    EMetric

    Classes

    AppContext
    BaseBotController
    Bot
    BotController
    Buttons
    Card
    ImageTokens
    Model
    Nlu
    Request
    Sound
    SoundTokens
    Text
    UsersData

    Interfaces

    FileOperationResult
    IAppConfig
    IAppDB
    IAppIntent
    IAppParam
    IAppPlugin
    IBaseEntities
    IBaseNlu
    IBotResponse
    IBotResponseState
    IButton
    IButtonOptions
    IButtonType
    ICardInfo
    ICommandParam
    IDatabaseAdapter
    IDatabaseInfo
    IDataValue
    IDbResult
    IDir
    IEffect
    IGetParams
    IImageModelState
    IImageParams
    IImageType
    ILogger
    IModelRes
    IModelRules
    IModelState
    INlu
    INluDateTime
    INluFIO
    INluGeo
    INluIntent
    INluIntents
    INluResult
    INluSlot
    INluThisUser
    IPlatform
    IPlatformAdapter
    IPlatformData
    IPlatformOptions
    IPlugin
    IPluginFn
    IQuery
    IQueryData
    IRequestSend
    ISelectOneModelRes
    ISound
    ISoundInfo
    ISoundModelState
    IStepParam
    ITextSimilarity
    ITokenPlatform
    IUserData
    IUserDataModelState
    IUserEvent
    TAppPlugin

    Type Aliases

    AnyPluginData
    IAppPluginFn
    MiddlewareFn
    MiddlewareNext
    TAppMode
    TAppPluginData
    TAppType
    TBotAuth
    TBotContent
    TBotControllerClass
    TBotResponseCb
    TBtnPayload
    TButton
    TButtonPayload
    TButtonProcessing
    TCardProcessing
    TCommandGroupMode
    TCommandResolver
    TDataType
    TElementType
    THttpClient
    TKey
    TKeys
    TLoggerCb
    TMetaType
    TModelRulesType
    TPattern
    TPatternReg
    TPatternRegExp
    TPlatformResolver
    TPlugin
    TPluginFnResult
    TQueryCb
    TRunResult
    TSlots
    TSoundProcessing
    TStatus

    Variables

    FALLBACK_COMMAND
    HELP_INTENT_NAME
    T_AUTO
    WELCOME_INTENT_NAME

    Functions

    fread
    freadSync
    fwrite
    fwriteSync
    getButton
    getFileInfo
    getFileInfoSync
    getImage
    getLinkButton
    getQueryData
    getRegExp
    httpBuildQuery
    initButton
    isDir
    isDirSync
    isFile
    isFileSync
    isPromise
    isRegex
    keysCount
    mkdir
    mkdirSync
    rand
    saveData
    saveDataSync
    similarText
    stdin
    unlinkSync