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
API_ENDPOINT
mixed
$API_ENDPOINT
= 'https://api.telegram.org/bot'
Properties
$request
Отправка запросов.
protected
Request
$request
$error
Строка с ошибками.
protected
string|null
$error
$token
Авторизационный токен бота, необходимый для отправки данных.
public
string|null
$token
Methods
__construct()
TelegramRequest constructor.
public
__construct(
)
: mixed
Return values
mixedinitToken()
Установить токен.
public
initToken(
$token :
string|null
)
: void
Parameters
- $token : string|null
Токен для загрузки данных на сервер.
Tags
getUrl()
Получение url адреса, на который будет отправляться запрос.
protected
getUrl(
)
: string
Return values
stringinitPostFile()
Заполняем данные для отправки файла
protected
initPostFile(
$type :
string
, $file :
string
)
: void
Parameters
- $type : string
Тип отправляемого файла
- $file : string
Путь к файлу
call()
Отправка запроса на telegram сервер.
public
call(
$method :
string
)
: array|null
Parameters
- $method : string
Отправляемый метод, что именно будет отправляться (Изображение, сообщение и тд).
Tags
Return values
array|nullsendMessage()
Отправка сообщения пользователю.
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
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
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
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
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
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
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
Текст ошибки.