Описание класса TelegramRequest | Universal Bot

TelegramRequest
in

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

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

Table of Contents

API_ENDPOINT 'https://api.telegram.org/bot'
$request Отправка запросов. Request
$error Строка с ошибками. string|null
$token Авторизационный токен бота, необходимый для отправки данных. string|null
__construct() TelegramRequest constructor. mixed
initToken() Установить токен. void
getUrl() Получение url адреса, на который будет отправляться запрос. string
initPostFile() Заполняем данные для отправки файла void
call() Отправка запроса на telegram сервер. array|null
sendMessage() Отправка сообщения пользователю. array|null
sendPoll() Отправка опроса пользователю. array|null
sendPhoto() Отправка изображения пользователю. array|null
sendDocument() Отправка документа пользователю. array|null
sendAudio() Отправка Аудиофайла пользователю. array|null
sendVideo() Отправка видео файла пользователю. array|null
log() Сохранение логов в файл. void

Constants

Properties

$error

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

protected string|null $error

$token

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

public string|null $token

Methods

__construct()

TelegramRequest constructor.

public __construct( ) : mixed
Return values
mixed

initToken()

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

public initToken( $token : string|null ) : void
Parameters
$token : string|null

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

Tags
api

getUrl()

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

protected getUrl( ) : string
Return values
string

initPostFile()

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

protected initPostFile( $type : string , $file : string ) : void
Parameters
$type : string

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

$file : string

Путь к файлу

call()

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

public call( $method : string ) : array|null
Parameters
$method : string

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

Tags
api
throws
Return values
array|null

sendMessage()

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

public sendMessage( $chatId : string|int , $message : string [, $params : array = [] ] ) : array|null
Parameters
$chatId : string|int

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

$message : string

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

$params : array = []

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

  • 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-сериализованный объект для встроенной клавиатуры, пользовательской клавиатуры ответа, инструкций по удалению клавиатуры ответа или принудительному получению ответа от пользователя. ]
Tags
see

Смотри тут

api
throws
Return values
array|null

[

  • '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 ]

sendPoll()

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

public sendPoll( $chatId : string|int , $question : string , $options : string|array [, $params : array = [] ] ) : array|null
Parameters
$chatId : string|int

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

$question : string

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

$options : string|array

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

$params : array = []

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

  • 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-сериализованный объект для встроенной клавиатуры, пользовательской клавиатуры ответа, инструкций по удалению клавиатуры ответа или принудительному получению ответа от пользователя. ]
Tags
api
throws
Return values
array|null

[

  • '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-основанный идентификатор правильного варианта ответа. Доступно только для опросов в режиме викторины, которые закрыты или были отправлены (не переадресованы) ботом или в приватный чат с ботом. ] ] ]

sendPhoto()

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

public sendPhoto( $userId : string|int , $file : string [, $desc : string|null = null ] [, $params : array = [] ] ) : array|null
Parameters
$userId : string|int

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

$file : string

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

$desc : string|null = null

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

$params : array = []

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

  • 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-сериализованный объект для встроенной клавиатуры, пользовательской клавиатуры ответа, инструкций по удалению клавиатуры ответа или принудительному получению ответа от пользователя. ]
Tags
api
throws
Return values
array|null

[

  • '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 ]

sendDocument()

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

public sendDocument( $userId : string|int , $file : string [, $params : array = [] ] ) : array|null
Parameters
$userId : string|int

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

$file : string

Путь к файлу.

$params : array = []

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

  • 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-сериализованный объект для встроенной клавиатуры, пользовательской клавиатуры ответа, инструкций по удалению клавиатуры ответа или принудительному получению ответа от пользователя. ]
Tags
api
throws
Return values
array|null

[

  • '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 ]

sendAudio()

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

public sendAudio( $userId : string|int , $file : string [, $params : array = [] ] ) : array|null
Parameters
$userId : string|int

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

$file : string

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

$params : array = []

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

  • 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-сериализованный объект для встроенной клавиатуры, пользовательской клавиатуры ответа, инструкций по удалению клавиатуры ответа или принудительному получению ответа от пользователя. ]
Tags
api
throws
Return values
array|null

[

  • '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 ]

sendVideo()

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

public sendVideo( $userId : string|int , $file : string [, $params : array = [] ] ) : array|null
Parameters
$userId : string|int

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

$file : string

Путь к файлу.

$params : array = []

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

  • 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-сериализованный объект для встроенной клавиатуры, пользовательской клавиатуры ответа, инструкций по удалению клавиатуры ответа или принудительному получению ответа от пользователя. ]
Tags
api
throws
Return values
array|null

[

  • '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 ]

log()

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

protected log( $error : string ) : void
Parameters
$error : string

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

Tags
throws

Search results