umbot - v2.0.8
    Preparing search index...

    Class TelegramCard

    TelegramCard Класс для создания и отображения карточек в Телеграме. Наследуется от TemplateCardTypes и реализует специфичную для Телеграма логику.

    Основные возможности:

    • Создание опросов с вариантами ответов
    • Отправка изображений с подписями
    • Обработка ошибок при работе с изображениями
    • Автоматическое создание токенов для изображений
    • Поддержка форматированного текста
    • Логирование ошибок при обработке изображений
    // Создание опроса с изображениями
    const card = new TelegramCard();
    card.title = 'Выберите категорию';
    card.images = [
    new Image('electronics.jpg', 'Электроника', 'Описание электроники'),
    new Image('clothes.jpg', 'Одежда', 'Описание одежды')
    ];
    const result = await card.getCard(false);

    // Создание опроса с эмодзи
    const cardWithEmoji = new TelegramCard();
    cardWithEmoji.title = 'Выберите товар 🛍️';
    cardWithEmoji.images = [
    new Image('phone.jpg', '📱 Смартфоны', 'Новейшие модели'),
    new Image('laptop.jpg', '💻 Ноутбуки', 'Мощные устройства')
    ];
    const resultWithEmoji = await cardWithEmoji.getCard(false);

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    Methods

    Constructors

    Properties

    images: Image[]

    Массив изображений или элементов для карточки. Каждый элемент может содержать изображение, заголовок, описание и кнопки.

    Image

    this.images = [
    new Image('image1.jpg', 'Заголовок 1', 'Описание 1'),
    new Image('image2.jpg', 'Заголовок 2', 'Описание 2')
    ];
    button: Buttons

    Кнопки для карточки. Используются для взаимодействия с пользователем.

    Buttons

    this.button.addBtn('Купить');
    this.button.addLink('Подробнее', 'https://example.com');
    title: null | string

    Заголовок карточки. Отображается в верхней части карточки.

    this.title = 'Название товара';
    
    isUsedGallery: boolean = false

    Флаг использования галереи изображений. true - изображения отображаются в виде галереи false - изображения отображаются как отдельные карточки

    this.isUsedGallery = true; // Включить режим галереи
    

    Methods

    • Получает карточку для отображения в Телеграме. Преобразует изображения и их описания в формат опроса.

      Процесс работы:

      1. Обрабатывает каждое изображение:
        • Проверяет наличие токена
        • Если токена нет, создает его
        • Отправляет изображение в чат
      2. Собирает варианты ответов:
        • Использует заголовки изображений как варианты
        • Проверяет количество вариантов (минимум 2)
      3. Создает объект опроса:
        • Использует title как вопрос
        • Добавляет собранные варианты
      4. Обрабатывает ошибки:
        • Логирует ошибки в файл
        • Продолжает работу с остальными изображениями

      Parameters

      • _: boolean

        Флаг отображения одного элемента (не используется)

      Returns Promise<null | ITelegramCard>

      Объект карточки или null, если нет вариантов

      При ошибках обработки изображений

      const card = new TelegramCard();
      card.title = 'Выберите товар';
      card.images = [
      new Image('product1.jpg', 'Товар 1', 'Описание 1'),
      new Image('product2.jpg', 'Товар 2', 'Описание 2')
      ];

      // Получить опрос
      const result = await card.getCard(false);
      // result = {
      // question: 'Выберите товар',
      // options: ['Товар 1', 'Товар 2']
      // }

      // Обработка ошибок
      try {
      const result = await card.getCard(false);
      if (result) {
      // Обработка успешного результата
      } else {
      // Обработка случая, когда нет вариантов
      }
      } catch (error) {
      // Обработка ошибок
      console.error('Ошибка при создании опроса:', error);
      }