Class TelegramRequest

Класс отвечающий за отправку запросов на telegram сервер.

Документация по telegram api.

See

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

Hierarchy

  • TelegramRequest

Constructors

Properties

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

Const

string: Адрес, на который отправляться запрос.

_error: undefined | null | string

Строка с ошибками.

_request: Request

Отправка запросов.

See

Request Смотри тут

token: null | string

Авторизационный токен бота, необходимый для отправки данных.

Methods

  • Получение url адреса, на который будет отправляться запрос.

    Returns

    string

    Returns string

  • Заполняем данные для отправки файла

    Parameters

    • type: string

      Тип отправляемого файла

    • file: string

      Путь к файлу

    Returns void

  • Сохранение логов в файл.

    Parameters

    • error: string = ''

      Текст ошибки.

    Returns void

  • Отправка запроса на telegram сервер.

    Returns

    Api

    Parameters

    • method: string

      Отправляемый метод, что именно будет отправляться (Изображение, сообщение и тд).

    • userId: null | TTelegramChatId = null

      Идентификатор пользователя/чата

    Returns Promise<null | ITelegramResult>

  • Установить токен.

    Api

    Parameters

    • token: null | string

      Токен для загрузки данных на сервер.

    Returns void

  • Отправка Аудиофайла пользователю.

    Returns

    Promise [

    • 'ok' => bool, Статус отправки аудио файла
    • 'result' => [
      • 'message_id' => int Идентификатор сообщения
      • 'from' => [
        • 'id' => int Идентификатор отправителя
        • 'is_bot' => bool Тип отправителя (Бот или человек)
        • 'first_name' => string Имя отправителя
        • 'username' => string Никнейм отправителя ],
      • 'chat' => [
        • 'id' => int Идентификатор пользователя
        • 'first_name' => string Имя пользователя
        • 'last_name' => string Фамилия пользователя
        • 'username' => string Никнейм пользователя
        • 'type' => string Тип чата(Приватный и тд) ],
      • 'date' => int Дата отправки сообщения в unix time
      • 'text' => string Текст отправленного сообщения
      • 'audio" =>[
        • 'name' => string Оригинальное(исходное) название аудио файла
        • 'mime_type' => string MIME тип файла
        • 'duration' => int Длительность аудио файла
        • 'performer' => string Исполнитель аудио файла
        • 'thumb' => [ Для фотографий
          • 'file_id' => string Идентификатор файла, который может быть использован для загрузки или повторного использования
          • 'file_unique_id' => string Уникальный идентификатор для этого файла, который должен быть одинаковым с течением времени и для разных ботов. Нельзя использовать для загрузки или повторного использования файла.
          • 'file_size' => int Размер файла
          • 'width' => int Ширина изображения
          • 'height' => int Высота изображения ],
        • 'file_id' => string Идентификатор аудио файла, который может быть использован для загрузки или повторного использования
        • 'file_unique_id' => string Уникальный идентификатор для этого аудиофайла, который должен быть одинаковым с течением времени и для разных ботов. Нельзя использовать для загрузки или повторного использования файла.
        • 'file_size' => int Размер аудио файла ] ] ] or [
    • 'ok' => false.
    • 'error_code' => int
    • 'description' => string ]

    Api

    Parameters

    • userId: TTelegramChatId

      Идентификатор пользователя.

    • file: string

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

    • params: null | ITelegramParams = null

      Пользовательские параметры: [

      • int|string chart_id: Уникальный идентификатор целевого чата или имя пользователя целевого канала (в формате @channelusername).
      • string audio: Аудио Файл для отправки. Передайте file_id в виде строки для отправки аудиофайла, существующего на серверах Telegram (рекомендуется), передайте HTTP URL в виде строки для Telegram, чтобы получить аудиофайл из интернета, или загрузите новый, используя multipart/form-data. Более подробная информация об отправке файлов» (https://core.telegram.org/bots/api#sending-files).
      • string thumb: Миниатюра отправленного файла; может быть проигнорирована, если генерация миниатюр для файла поддерживается на стороне сервера. Миниатюра должна быть в формате JPEG и иметь размер менее 200 кб. Ширина и высота миниатюры не должны превышать 320. Игнорируется, если файл не загружен с помощью multipart / form-data. Миниатюры не могут быть повторно использованы и могут быть загружены только в виде нового файла, поэтому вы можете передать “attach:/ / ", если миниатюра была загружена с использованием составных / form-данных в разделе . Более подробная информация об отправке файлов» (https://core.telegram.org/bots/api#sending-files).
      • string caption: Подпись к фотографии (также может использоваться при повторной отправке фотографий по file_id), 0-1024 символа после синтаксического анализа сущностей.
      • string parse_mode: Отправьте Markdown или HTML, если вы хотите, чтобы приложения Telegram отображали жирный, курсивный, фиксированный по ширине текст или встроенные URL-адреса в заголовке СМИ.
      • int duration: Длительность звука в секундах.
      • string performer: Исполнитель.
      • string title: Название трека.
      • bool disable_notification: Отправляет сообщение молча. Пользователи получат уведомление без звука.
      • int reply_to_message_id: Если сообщение является ответом, то идентификатор исходного сообщения.
      • string reply_markup: Дополнительные опции интерфейса. JSON-сериализованный объект для встроенной клавиатуры, пользовательской клавиатуры ответа, инструкций по удалению клавиатуры ответа или принудительному получению ответа от пользователя. ]

    Returns Promise<null | ITelegramResult>

  • Отправка документа пользователю.

    Returns

    Promise [

    • 'ok' => bool, Статус отправки документа
    • 'result' => [
      • 'message_id' => int Идентификатор сообщения
      • 'from' => [
        • 'id' => int Идентификатор отправителя
        • 'is_bot' => bool Тип отправителя (Бот или человек)
        • 'first_name' => string Имя отправителя
        • 'username' => string Никнейм отправителя ],
      • 'chat' => [
        • 'id' => int Идентификатор пользователя
        • 'first_name' => string Имя пользователя
        • 'last_name' => string Фамилия пользователя
        • 'username' => string Никнейм пользователя
        • 'type' => string Тип чата(Приватный и тд) ],
      • 'date' => int Дата отправки сообщения в unix time
      • 'text' => string Текст отправленного сообщения
      • 'document" =>[
        • 'file_name' => string Оригинальное(исходное) имя файла
        • 'mime_type' => string MIME тип файла
        • 'thumb' => [
          • 'file_id' => string Идентификатор файла, который может быть использован для загрузки или повторного использования
          • 'file_unique_id' => string Уникальный идентификатор для этого файла, который должен быть одинаковым с течением времени и для разных ботов. Нельзя использовать для загрузки или повторного использования файла.
          • 'file_size' => int Размер файла
          • 'width' => int Ширина изображения
          • 'height' => int Высота изображения ],
        • 'file_id' => string Идентификатор файла, который может быть использован для загрузки или повторного использования
        • 'file_unique_id' => string Уникальный идентификатор для этого файла, который должен быть одинаковым с течением времени и для разных ботов. Нельзя использовать для загрузки или повторного использования файла.
        • 'file_size' => int Размер файла ] ] ] or [
    • 'ok' => false.
    • 'error_code' => int
    • 'description' => string ]

    Api

    Parameters

    • userId: TTelegramChatId

      Идентификатор пользователя.

    • file: string

      Путь к файлу.

    • params: null | ITelegramParams = null

      Пользовательские параметры: [

      • int|string chart_id: Уникальный идентификатор целевого чата или имя пользователя целевого канала (в формате @channelusername).
      • string document: Файл для отправки. Передайте file_id в качестве строки для отправки файла, который существует на серверах Telegram (рекомендуется), передайте HTTP URL в качестве строки для Telegram, чтобы получить файл из интернета, или загрузите новый, используя multipart/form-data. Более подробная информация об отправке файлов» (https://core.telegram.org/bots/api#sending-files).
      • string thumb: Миниатюра отправленного файла; может быть проигнорирована, если генерация миниатюр для файла поддерживается на стороне сервера. Миниатюра должна быть в формате JPEG и иметь размер менее 200 кб. Ширина и высота миниатюры не должны превышать 320. Игнорируется, если файл не загружен с помощью multipart / form-data. Миниатюры не могут быть повторно использованы и могут быть загружены только в виде нового файла, поэтому вы можете передать “attach:/ / ", если миниатюра была загружена с использованием составных / form-данных в разделе . Более подробная информация об отправке файлов » (https://core.telegram.org/bots/api#sending-files).
      • string caption: Заголовок документа (также может использоваться при повторной отправке документов по идентификатору file_id), 0-1024 символа после синтаксического анализа сущностей.
      • string parse_mode: Отправьте Markdown или HTML, если вы хотите, чтобы приложения Telegram отображали жирный, курсивный, фиксированный по ширине текст или встроенные URL-адреса в заголовке СМИ.
      • bool disable_notification: Отправляет сообщение молча. Пользователи получат уведомление без звука.
      • int reply_to_message_id: Если сообщение является ответом, то идентификатор исходного сообщения.
      • string reply_markup: Дополнительные опции интерфейса. JSON-сериализованный объект для встроенной клавиатуры, пользовательской клавиатуры ответа, инструкций по удалению клавиатуры ответа или принудительному получению ответа от пользователя. ]

    Returns Promise<null | ITelegramResult>

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

    See

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

    Returns

    Promise [

    • 'ok' => bool, Статус отправки сообщения
    • 'result' => [
      • 'message_id' => int Идентификатор сообщения
      • 'from' => [
        • 'id' => int Идентификатор отправителя
        • 'is_bot' => bool Тип отправителя (Бот или человек)
        • 'first_name' => string Имя отправителя
        • 'username' => string Никнейм отправителя ],
      • 'chat' => [
        • 'id' => int Идентификатор пользователя
        • 'first_name' => string Имя пользователя
        • 'last_name' => string Фамилия пользователя
        • 'username' => string Никнейм пользователя
        • 'type' => string Тип чата(Приватный и тд) ],
      • 'date' => int Дата отправки сообщения в unix time
      • 'text' => string Текст отправленного сообщения ] ] or [
    • 'ok' => false.
    • 'error_code' => int
    • 'description' => string ]

    Api

    Parameters

    • chatId: TTelegramChatId

      Идентификатор пользователя/чата.

    • message: string

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

    • params: null | ITelegramParams = null

      Пользовательские параметры: [

      • string|int chat_id: Уникальный идентификатор целевого чата или имя пользователя целевого канала (в формате @channelusername).
      • string text: Текст отправляемого сообщения, 1-4096 символов после синтаксического анализа сущностей.
      • string parse_mode: Отправьте Markdown или HTML, если вы хотите, чтобы приложения Telegram отображали полужирный, курсивный, фиксированный по ширине текст или встроенные URL-адреса в сообщении бота.
      • bool disable_web_page_preview: Отключает предварительный просмотр ссылок для ссылок в этом сообщении.
      • bool disable_notification: Отправляет сообщение молча. Пользователи получат уведомление без звука.
      • int reply_to_message_id: Если сообщение является ответом, то идентификатор исходного сообщения.
      • string reply_markup: Дополнительные опции интерфейса. JSON-сериализованный объект для встроенной клавиатуры, пользовательской клавиатуры ответа, инструкций по удалению клавиатуры ответа или принудительному получению ответа от пользователя. ]

    Returns Promise<null | ITelegramResult>

  • Отправка изображения пользователю.

    Returns

    Promise [

    • 'ok' => bool, Статус отправки изображения
    • 'result' => [
      • 'message_id' => int Идентификатор сообщения
      • 'from' => [
        • 'id' => int Идентификатор отправителя
        • 'is_bot' => bool Тип отправителя (Бот или человек)
        • 'first_name' => string Имя отправителя
        • 'username' => string Никнейм отправителя ],
      • 'chat' => [
        • 'id' => int Идентификатор пользователя
        • 'first_name' => string Имя пользователя
        • 'last_name' => string Фамилия пользователя
        • 'username' => string Никнейм пользователя
        • 'type' => string Тип чата(Приватный и тд) ],
      • 'date' => int Дата отправки сообщения в unix time
      • 'text' => string Текст отправленного сообщения
      • 'photo" =>[ [ - 'file_id' => string Идентификатор изображения, который может быть использован для загрузки или повторного использования - 'file_unique_id' => string Уникальный идентификатор для этого изображения, который должен быть одинаковым с течением времени и для разных ботов. Нельзя использовать для загрузки или повторного использования файла. - 'file_size' => int Размер изображения - 'width' => int Ширина изображения - 'height' => int Высота изображения ] ] ] ] or [
    • 'ok' => false.
    • 'error_code' => int
    • 'description' => string ]

    Api

    Parameters

    • userId: TTelegramChatId

      Идентификатор пользователя.

    • file: string

      Название файла.

    • desc: null | string = null

      Описание к фотографии.

    • params: null | ITelegramParams = null

      Пользовательские команды: [

      • int|string chart_id: Уникальный идентификатор целевого чата или имя пользователя целевого канала (в формате @channelusername).
      • string photo: Фото для отправки. Передайте file_id в качестве строки для отправки фотографии, которая существует на серверах Telegram (рекомендуется), передайте HTTP URL в качестве строки для Telegram, чтобы получить фотографию из интернета, или загрузите новую фотографию с помощью multipart/form-data. Более подробная информация об отправке файлов» (https://core.telegram.org/bots/api#sending-files).
      • string caption: Подпись к фотографии (также может использоваться при повторной отправке фотографий по file_id), 0-1024 символа после синтаксического анализа сущностей.
      • string parse_mode: Отправьте Markdown или HTML, если вы хотите, чтобы приложения Telegram отображали жирный, курсивный, фиксированный по ширине текст или встроенные URL-адреса в заголовке СМИ.
      • bool disable_notification: Отправляет сообщение молча. Пользователи получат уведомление без звука.
      • int reply_to_message_id: Если сообщение является ответом, то идентификатор исходного сообщения.
      • string reply_markup: Дополнительные опции интерфейса. JSON-сериализованный объект для встроенной клавиатуры, пользовательской клавиатуры ответа, инструкций по удалению клавиатуры ответа или принудительному получению ответа от пользователя. ]

    Returns Promise<null | ITelegramResult>

  • Отправка опроса пользователю.

    Returns

    Promise [

    • 'ok' => bool, Статус отправки опроса
    • 'result' => [
      • 'message_id' => int Идентификатор сообщения
      • 'from' => [
        • 'id' => int Идентификатор отправителя
        • 'is_bot' => bool Тип отправителя (Бот или человек)
        • 'first_name' => string Имя отправителя
        • 'username' => string Никнейм отправителя ],
      • 'chat' => [
        • 'id' => int Идентификатор пользователя
        • 'first_name' => string Имя пользователя
        • 'last_name' => string Фамилия пользователя
        • 'username' => string Никнейм пользователя
        • 'type' => string Тип чата(Приватный и тд) ],
      • 'date' => int Дата отправки сообщения в unix time
      • 'text' => string Текст отправленного сообщения
      • 'poll' =>[
        • 'id' => int Уникальный идентификатор опроса
        • 'question' => string Вопрос
        • 'options' => [ Варианты ответов [ - 'text' => string Вариант ответа - 'voter_count' => int Количество проголосовавших ] ]
        • 'total_voter_count' => int Общее количество пользователей проголосовавших в опросе
        • 'is_closed' => bool True, если опрос закрыт
        • 'is_anonymous' => bool True, если опрос анонимный
        • 'type' => string Тип опроса (regular, quiz)
        • 'allows_multiple_answers' => bool True, если в опросе допускается несколько ответов
        • 'correct_option_id' => int 0-основанный идентификатор правильного варианта ответа. Доступно только для опросов в режиме викторины, которые закрыты или были отправлены (не переадресованы) ботом или в приватный чат с ботом. ] ] ]

    Api

    Parameters

    • chatId: TTelegramChatId

      Идентификатор пользователя/чата.

    • question: string

      Название опроса.

    • options: string[]

      Варианты ответов.

    • params: null | ITelegramParams = null

      Пользовательские параметры: [

      • int|string chat_id: Уникальный идентификатор целевого чата или имя пользователя целевого канала (в формате @channelusername).
      • string question: Опросный вопрос, 1-255 символов.
      • array|string options: A JSON-serialized list of answer options, 2-10 strings 1-100 characters each.
      • bool is_anonymous: True, если опрос должен быть анонимным, по умолчанию используется значение True.
      • string type: Типа опрос, “quiz” или “regular”, по умолчанию “regular”.
      • bool allows_multiple_answers: True, если опрос допускает несколько ответов, игнорируемых для опросов в режиме викторины, по умолчанию имеет значение False.
      • int correct_option_id: 0 - идентификатор правильного варианта ответа, необходимый для опросов в режиме викторины.
      • bool is_closed: Передайте True, если опрос Нужно немедленно закрыть. Это может быть полезно для предварительного просмотра опроса.
      • bool disable_notification: Отправляет сообщение молча. Пользователи получат уведомление без звука.
      • int reply_to_message_id: Если сообщение является ответом, то идентификатор исходного сообщения.
      • string reply_markup: Дополнительные опции интерфейса. JSON-сериализованный объект для встроенной клавиатуры, пользовательской клавиатуры ответа, инструкций по удалению клавиатуры ответа или принудительному получению ответа от пользователя. ]

    Returns null | Promise<null | ITelegramResult>

  • Отправка видео файла пользователю.

    Returns

    Promise [

    • 'ok' => bool, Статус отправки видео файла
    • 'result' => [
      • 'message_id' => int Идентификатор сообщения
      • 'from' => [
        • 'id' => int Идентификатор отправителя
        • 'is_bot' => bool Тип отправителя (Бот или человек)
        • 'first_name' => string Имя отправителя
        • 'username' => string Никнейм отправителя ],
      • 'chat' => [
        • 'id' => int Идентификатор пользователя
        • 'first_name' => string Имя пользователя
        • 'last_name' => string Фамилия пользователя
        • 'username' => string Никнейм пользователя
        • 'type' => string Тип чата(Приватный и тд) ],
      • 'date' => int Дата отправки сообщения в unix time
      • 'text' => string Текст отправленного сообщения
      • 'video' =>[
        • 'name' => string Оригинальное(исходное) название аудио файла
        • 'mime_type' => string MIME тип файла
        • 'duration' => int Длительность аудио файла
        • 'thumb' => [ Для фотографий
          • 'file_id' => string Идентификатор файла, который может быть использован для загрузки или повторного использования
          • 'file_unique_id' => string Уникальный идентификатор для этого файла, который должен быть одинаковым с течением времени и для разных ботов. Нельзя использовать для загрузки или повторного использования файла.
          • 'file_size' => int Размер файла
          • 'width' => int Ширина видео
          • 'height' => int Высота ширина ],
        • 'file_id' => string Идентификатор видео файла, который может быть использован для загрузки или повторного использования
        • 'file_unique_id' => string Уникальный идентификатор для этого видео файла, который должен быть одинаковым с течением времени и для разных ботов. Нельзя использовать для загрузки или повторного использования файла.
        • 'file_size' => int Размер аудио файла
        • 'width' => int Ширина видео
        • 'height' => int Высота ширина ] ] ] or [
    • 'ok' => false.
    • 'error_code' => int
    • 'description' => string ]

    Api

    Parameters

    • userId: TTelegramChatId

      Идентификатор пользователя.

    • file: string

      Путь к файлу.

    • params: null | ITelegramParams = null

      Пользовательские параметры: [

      • int|string chart_id: Уникальный идентификатор целевого чата или имя пользователя целевого канала (в формате @channelusername).
      • string video: Видео для отправки. Передайте file_id в качестве строки для отправки видео, которое существует на серверах Telegram (рекомендуется), передайте HTTP URL в качестве строки для Telegram, чтобы получить видео из интернета, или загрузите новое видео с помощью multipart/form-data. Более подробная информация об отправке файлов» (https://core.telegram.org/bots/api#sending-files).
      • string thumb: Миниатюра отправленного файла; может быть проигнорирована, если генерация миниатюр для файла поддерживается на стороне сервера. Миниатюра должна быть в формате JPEG и иметь размер менее 200 кб. Ширина и высота миниатюры не должны превышать 320. Игнорируется, если файл не загружен с помощью multipart / form-data. Миниатюры не могут быть повторно использованы и могут быть загружены только в виде нового файла, поэтому вы можете передать “attach:/ / ", если миниатюра была загружена с использованием составных / form-данных в разделе . Более подробная информация об отправке файлов » (https://core.telegram.org/bots/api#sending-files).
      • string caption: Заголовок видео (также может использоваться при повторной отправке видео по file_id), 0-1024 символа после разбора сущностей.
      • int duration: Длительность отправленного видео в секундах.
      • int width: Ширина видео.
      • int height: Высота видео.
      • bool supports_streaming: Передайте True, если загруженное видео подходит для потоковой передачи.
      • string parse_mode: Отправьте Markdown или HTML, если вы хотите, чтобы приложения Telegram отображали жирный, курсивный, фиксированный по ширине текст или встроенные URL-адреса в заголовке СМИ.
      • bool disable_notification: Отправляет сообщение молча. Пользователи получат уведомление без звука.
      • int reply_to_message_id: Если сообщение является ответом, то идентификатор исходного сообщения.
      • string reply_markup: Дополнительные опции интерфейса. JSON-сериализованный объект для встроенной клавиатуры, пользовательской клавиатуры ответа, инструкций по удалению клавиатуры ответа или принудительному получению ответа от пользователя. ]

    Returns Promise<null | ITelegramResult>

Generated using TypeDoc