toropyga/telegram

Libraries for working with Telegram bot from Toropyga

Maintainers

Package info

github.com/Toropyga/Telegram

pkg:composer/toropyga/telegram

Transparency log

Statistics

Installs: 140

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v3.0.1 2026-07-29 10:32 UTC

This package is auto-updated.

Last update: 2026-08-29 10:36:29 UTC


README

Sending messages on behalf of a Telegram bot

License Version PHP

Content

General description

The Telegram class is designed to send messages on behalf of the Telegram bot.

To work, you need PHP version 5.5 or higher, PHP libraries php-json and php-curl. Additional libraries are also used Base and NetContent

Installation

Recommended way to install NetContent library using Composer:

composer require toropyga/telegram

Configuration

Pre-setting of default parameters can be done either directly in the class itself or using named constants. Named constants are declared before calling the class, if necessary, for example in the configuration file, and define the default parameters.

  • TELEGRAM_TOKEN - Telegram Bot Token;
  • TELEGRAM_ID - chat ID (person) to whom a message are sending
  • TELEGRAM_DEBUG - enable or disable debugging options;
  • TELEGRAM_LOG_NAME - logs file name;

Work description

Including a class file

require_once("NetContent.php");
require_once("Base.php");
require_once("Telegram.php");

or use composer

require_once("vendor/autoload.php");

Classes initialisation

use Toropyga\Base;
$net = new Toropyga\NetContent();
$telegram = new Toropyga\Telegram($net);

or with automatic connection of the NetContent class

use Toropyga\Base;
$telegram = new Toropyga\Telegram();

Setting the method of interaction with the Telegram API when sending messages

$telegram->setMethod('sendVideo');

Поддерживаемые методы

  • 'sendMessage' - отправка текстового сообщения,
  • 'sendPhoto' - отправка фотографии или изображения,
  • 'sendDocument' - отправка документа как вложения,
  • 'sendVideo' - отправка видео файла,
  • 'sendAudio' - отправка звукового файла,
  • 'sendVoice' - отправка голосового сообщения,
  • 'sendAnimation' - отправка анимированного изображения.

Установка токена телеграм бота

$telegram->setToken("000000000:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");

Установка параметров сервера Webhook

$webhook_url = 'https://your_server_path'; // адрес Webhook-сервера
$certificate = '/home/user/ssl/my_ssl'; // путь к персональному сертификату (необязательный параметр)
$ip_address = '000.000.000.000'; // IP-адрес , который будет использоваться для отправки запросов Webhook вместо IP-адреса, полученного через DNS (необязательный параметр)
$max_connections = 40; // максимальное количество одновременных подключений к Webhook-серверу [1-100] (необязательный параметр)

$telegram->setWebhook ($webhook_url, $certificate, $ip_address, $max_connections);

Удаление сервера Webhook

$telegram->deleteWebhook();

Получение информации о сервере Webhook

$info = $telegram->getWebhookInfo();

Установка идентификатора получателя

$telegram->setChatID("000000000");

Включение отладки

$telegram->setDebug(true);

Если включен, то логируются все действия, в противном случае - только конечный результат.

Получение логов

$telegram->getLogs();

Возвращается массив действий и ошибок, и имя файла логов

Пример отправки сообщения

$token = "000000000:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; // токен Телеграм бота
$chat_id = 000000000; // ID чата получателя
$telegram->setMethod('sendMessage');

$telegram->setToken($token);
$telegram->setChatID($chat_id);
if (!$answer = $telegram->sendToTelegram($message)) Base::dump($telegram->getLogs());
else Base::dump($answer);

или отправка сообщения с использованием параметров по умолчанию

$message = "Hi!";

if (!$answer = $telegram->sendToTelegram($message)) Base::dump($telegram->getLogs());
else Base::dump($answer);

Пример отправки фотографии

$token = "000000000:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; // токен Телеграм бота
$chat_id = 000000000; // ID чата получателя
$reply_message_id = 0000; // ID сообщения на которое даём ответ, по умолчанию - 0;
$caption = "It's my photo!";
$path_to_photo = "/home/images/my.jpeg";

$telegram->setDebug(true);
$telegram->setToken($token);
$telegram->setChatID($chat_id);
$telegram->setMethod('sendPhoto');
if (!$answer = $telegram->sendToTelegram($caption, $path_to_photo, $reply_message_id)) Base::dump($telegram->getLogs());
else Base::dump($answer);

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

$chat_id = 111111111; // ID чата получателя
$caption = "It's my photo!";
$path_to_photo = "/home/images/my.jpeg";

$telegram->setMethod('sendPhoto');
if (!$answer = $telegram->sendToTelegram($caption, $path_to_photo, 0, $chat_id)) Base::dump($telegram->getLogs());
else Base::dump($answer);

или отправка фотографии с использованием параметров по умолчанию

$caption = "It's my photo!";
$path_to_photo = "/home/images/my.jpeg";

$telegram->setMethod('sendPhoto');
if (!$answer = $telegram->sendToTelegram($caption, $path_to_photo)) Base::dump($telegram->getLogs());
else Base::dump($answer);