umbot - v2.0.8
    Preparing search index...

    Module components

    Компоненты

    Компоненты представляют собой модульную систему для работы с различными аспектами бота. Они разделяются на две основные категории:

    1. Системные компоненты - отвечают за базовую функциональность бота:

      • Отображение карточек
      • Работа с изображениями
      • Управление кнопками
      • Воспроизведение звуков
      • Обработка NLU (Natural Language Understanding)
    2. Дополнительные компоненты - предоставляют расширенную функциональность:

      • Навигация по меню
      • Управление состоянием
      • Работа с данными

    Важно: Системные компоненты рекомендуется использовать только через BotController.

    Дополнительные компоненты разработаны для упрощения разработки и расширения возможностей бота.

    Класс для управления навигацией по элементам меню. Особенно полезен при работе с большими списками элементов, где требуется постраничная навигация и обработка выбора пользователя.

    • Постраничная навигация по элементам
    • Определение выбранного элемента
    • Поддержка различных типов данных через дженерики
    • Гибкая настройка количества отображаемых элементов
    1. Стандартная навигация
    import { Navigation } from './standard/Navigation';

    const elements: number[] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];
    const maxVisibleElements: number = 5;
    const nav = new Navigation<number>(maxVisibleElements);

    // Получение элементов для первой страницы
    const showElements: number[] = nav.getPageElements(elements);
    console.log(showElements); // -> [1, 2, 3, 4, 5]
    1. Навигация с командами
    import { Navigation } from './standard/Navigation';

    const elements: number[] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];
    const maxVisibleElements: number = 5;
    const nav = new Navigation<number>(maxVisibleElements);

    // Навигация вперед
    let showElements = nav.getPageElements(elements, 'Дальше');
    console.log(showElements); // -> [6, 7, 8, 9, 0]

    // Навигация назад
    showElements = nav.getPageElements(elements, 'Назад');
    console.log(showElements); // -> [1, 2, 3, 4, 5]
    1. Управление текущей страницей
    import { Navigation } from './standard/Navigation';

    const elements = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];
    const maxVisibleElements = 5;
    const nav = new Navigation<number>(maxVisibleElements);

    // Установка текущей страницы
    nav.thisPage = 1;

    // Проверка границ навигации
    let showElements = nav.getPageElements(elements, 'Дальше');
    console.log(nav.thisPage); // -> 1 (не выходит за пределы)

    showElements = nav.getPageElements(elements, 'Назад');
    console.log(nav.thisPage); // -> 0
    1. Выбор элемента из списка
    import { Navigation } from './standard/Navigation';

    const elements = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];
    const maxVisibleElements = 5;
    const nav = new Navigation<number>(maxVisibleElements);

    // Выбор элемента на текущей странице
    nav.thisPage = 1;
    let selectedElement = nav.selectedElement(elements, '1');
    console.log(selectedElement); // -> 6
    1. Работа с объектами
    import { Navigation } from './standard/Navigation';

    interface MenuItem {
    title: string;
    desc: string;
    }

    const elements: MenuItem[] = [
    { title: 'title 1', desc: 'desc 1' },
    { title: 'title 2', desc: 'desc 2' },
    { title: 'title 3', desc: 'desc 3' },
    { title: 'title 4', desc: 'desc 4' }
    ];

    const maxVisibleElements = 2;
    const nav = new Navigation<MenuItem>(maxVisibleElements);

    // Поиск по свойству объекта
    let selectedElement = nav.selectedElement(elements, 'title 1', 'title');
    console.log(selectedElement); // -> { title: 'title 1', desc: 'desc 1' }

    Системные компоненты обеспечивают базовую функциональность бота и доступны через BotController.

    • Кнопки (./button) - управление интерактивными элементами
    • Карточки (./card) - отображение структурированной информации
    • Изображения (./image) - работа с графическим контентом
    • NLU (./nlu) - обработка естественного языка
    • Звуки (./sound) - управление аудио контентом

    Примечание: Для использования системных компонентов рекомендуется обращаться к соответствующим методам BotController, которые обеспечивают правильную интеграцию с платформами.

    Classes

    Button
    Buttons
    AlisaButton
    SmartAppButton
    TelegramButton
    TemplateButtonTypes
    ViberButton
    VkButton
    Card
    AlisaCard
    MarusiaCard
    SmartAppCard
    TelegramCard
    TemplateCardTypes
    ViberCard
    VkCard
    Image
    Nlu
    Sound
    AlisaSound
    MarusiaSound
    TelegramSound
    ViberSound
    VkSound

    Interfaces

    IButtonOptions
    IButton
    IViberButton
    IViberButtonObject
    IVkButtonObject
    IVkButtonAction
    IVkButton
    ITelegramInlineKeyboard
    ITelegramKeyboard
    ITelegramCard
    IViberCard
    IVkCardElement
    IVkCard
    IImageParams
    INluResult
    INluFIO
    INluGeo
    INluDateTime
    INluThisUser
    INluSlot
    INluIntents
    INluIntent
    INlu
    ISound
    TemplateSoundTypes

    Type Aliases

    TButtonPayload
    TButton
    TElementType
    TKeys