umbot - v2.0.1
    Preparing search index...

    Class TelegramRequest

    Класс для взаимодействия с API Telegram Предоставляет методы для отправки сообщений, файлов и других типов контента

    (https://core.telegram.org/bots/api) Смотри тут

    import { TelegramRequest } from './api/TelegramRequest';

    // Создание экземпляра
    const telegram = new TelegramRequest();
    telegram.initToken('your-bot-token');

    // Отправка простого сообщения
    await telegram.sendMessage(12345, 'Привет!');

    // Отправка форматированного сообщения
    await telegram.sendMessage(12345,
    '*Жирный текст* и _курсив_\n' +
    '[Ссылка](https://example.com)\n' +
    '`code` и ```pre```',
    * { parse_mode: 'Markdown' }
    );

    // Отправка сообщения с клавиатурой
    const keyboard = {
    keyboard: [[
    { text: 'Кнопка 1' },
    { text: 'Кнопка 2' }
    ]],
    resize_keyboard: true,
    one_time_keyboard: true
    };

    await telegram.sendMessage(12345, 'Выберите:', {
    reply_markup: JSON.stringify(keyboard)
    });

    // Отправка файлов
    await telegram.sendPhoto(12345, 'photo.jpg', 'Описание фото');
    await telegram.sendDocument(12345, 'document.pdf');
    await telegram.sendAudio(12345, 'audio.mp3', {
    title: 'Название',
    performer: 'Исполнитель'
    });
    Index

    Constructors

    • Создает экземпляр класса для работы с API Telegram Устанавливает токен из конфигурации приложения, если он доступен

      Returns TelegramRequest

    Properties

    API_ENDPOINT: "https://api.telegram.org/bot" = 'https://api.telegram.org/bot'

    Базовый URL для всех методов Telegram API

    token: null | string

    Токен доступа к Telegram API

    Methods

    • Инициализирует токен доступа к Telegram API

      Parameters

      • token: null | string

        Токен для доступа к API

      Returns void

    • Отправляет запрос к Telegram API

      Parameters

      • method: string

        Название метода API

      • userId: null | TTelegramChatId = null

        ID пользователя или чата

      Returns Promise<null | ITelegramResult>

      Результат выполнения метода или null при ошибке

    • Отправляет текстовое сообщение

      Parameters

      • chatId: TTelegramChatId

        ID чата или пользователя

      • message: string

        Текст сообщения

      • params: null | ITelegramParams = null

        Дополнительные параметры:

        • parse_mode: формат текста
          • Markdown: жирный, курсив, ссылка, код, pre
          • HTML: жирный, курсив, ссылка, код,
            pre
        • disable_web_page_preview: отключить предпросмотр ссылок
        • disable_notification: отключить уведомление
        • reply_to_message_id: ID сообщения для ответа
        • reply_markup: клавиатура в JSON формате
          • keyboard: обычная клавиатура
          • inline_keyboard: встроенная клавиатура
          • remove_keyboard: удалить клавиатуру
          • force_reply: форсировать ответ

      Returns Promise<null | ITelegramResult>

      Информация об отправленном сообщении или null при ошибке

      // Простое сообщение
      await telegram.sendMessage(12345, 'Привет!');

      // Форматированное сообщение
      await telegram.sendMessage(12345,
      '<b>Жирный</b> и <i>курсив</i>\n' +
      '<a href="https://example.com">Ссылка</a>\n' +
      '<code>code</code>',
      { parse_mode: 'HTML' }
      );

      // Сообщение с обычной клавиатурой
      const keyboard = {
      keyboard: [[
      { text: 'Кнопка 1' },
      { text: 'Кнопка 2' }
      ]],
      resize_keyboard: true
      };
      await telegram.sendMessage(12345, 'Выберите:', {
      reply_markup: JSON.stringify(keyboard)
      });

      // Сообщение с inline-клавиатурой
      const inlineKeyboard = {
      inline_keyboard: [[{
      text: 'Кнопка',
      callback_data: 'button_1'
      }]]
      };
      await telegram.sendMessage(12345, 'Нажмите:', {
      reply_markup: JSON.stringify(inlineKeyboard)
      });
    • Отправляет опрос

      Parameters

      • chatId: TTelegramChatId

        ID чата или пользователя

      • question: string

        Текст вопроса

      • options: string[]

        Массив вариантов ответов (2-10 вариантов)

      • params: null | ITelegramParams = null

        Дополнительные параметры:

        • is_anonymous: анонимный опрос (по умолчанию true)
        • type: тип опроса
          • 'regular': обычный опрос (по умолчанию)
          • 'quiz': викторина с одним правильным ответом
        • allows_multiple_answers: разрешить несколько ответов (только для regular)
        • correct_option_id: ID правильного ответа (0-9, только для quiz)
        • explanation: пояснение правильного ответа (только для quiz)
        • explanation_parse_mode: формат пояснения (HTML/Markdown)
        • open_period: время в секундах, когда опрос активен
        • close_date: дата закрытия опроса (Unix timestamp)
        • is_closed: закрыть опрос сразу

      Returns null | Promise<null | ITelegramResult>

      Информация об отправленном опросе или null при ошибке

      // Обычный опрос
      await telegram.sendPoll(12345,
      'Любимый цвет?',
      ['Красный', 'Синий', 'Зеленый'],
      { allows_multiple_answers: true }
      );

      // Викторина
      await telegram.sendPoll(12345,
      'Столица России?',
      ['Санкт-Петербург', 'Москва', 'Новосибирск'],
      {
      type: 'quiz',
      correct_option_id: 1,
      explanation: 'Москва - столица России с 1918 года',
      explanation_parse_mode: 'HTML'
      }
      );
    • Отправляет фотографию

      Parameters

      • userId: TTelegramChatId

        ID чата или пользователя

      • file: string

        Путь к файлу или его содержимое Поддерживаемые форматы:

        • JPEG, JPG, PNG, GIF, WEBP
        • Максимальный размер: 10MB
        • Максимальное разрешение: 10000x10000
      • desc: null | string = null

        Подпись к фотографии

      • params: null | ITelegramParams = null

        Дополнительные параметры:

        • caption: подпись к фото (0-1024 символа)
        • caption: подпись к фото
        • parse_mode: формат текста
        • disable_notification: отключить уведомление
        • reply_to_message_id: ID сообщения для ответа
        • reply_markup: клавиатура в JSON

      Returns Promise<null | ITelegramResult>

      Информация об отправленной фотографии или null при ошибке

    • Отправляет документ

      Parameters

      • userId: TTelegramChatId

        ID чата или пользователя

      • file: string

        Путь к файлу или его содержимое

      • params: null | ITelegramParams = null

        Дополнительные параметры:

        • caption: подпись к документу
        • parse_mode: формат текста
        • disable_notification: отключить уведомление
        • reply_to_message_id: ID сообщения для ответа
        • reply_markup: клавиатура в JSON

      Returns Promise<null | ITelegramResult>

      Информация об отправленном документе или null при ошибке

    • Отправляет аудиофайл

      Parameters

      • userId: TTelegramChatId

        ID чата или пользователя

      • file: string

        Путь к файлу или его содержимое

      • params: null | ITelegramParams = null

        Дополнительные параметры:

        • caption: подпись к аудио
        • parse_mode: формат текста
        • duration: длительность в секундах
        • performer: исполнитель
        • title: название
        • disable_notification: отключить уведомление
        • reply_to_message_id: ID сообщения для ответа
        • reply_markup: клавиатура в JSON

      Returns Promise<null | ITelegramResult>

      Информация об отправленном аудио или null при ошибке

    • Отправляет видео

      Parameters

      • userId: TTelegramChatId

        ID чата или пользователя

      • file: string

        Путь к файлу или его содержимое

      • params: null | ITelegramParams = null

        Дополнительные параметры:

        • caption: подпись к видео
        • parse_mode: формат текста
        • duration: длительность в секундах
        • width: ширина
        • height: высота
        • disable_notification: отключить уведомление
        • reply_to_message_id: ID сообщения для ответа
        • reply_markup: клавиатура в JSON

      Returns Promise<null | ITelegramResult>

      Информация об отправленном видео или null при ошибке