File: /var/www/ipsremont-demo/app/Helpers/TelegramHelper.php
<?php
namespace App\Helpers;
use Telegram\Bot\Api;
use Telegram\Bot\Objects\Message;
class TelegramHelper
{
private static ?Api $bot = null;
private static function create(): Api
{
if (!empty(self::$bot)) {
return self::$bot;
}
$apiKey = env('TELEGRAM_BOT_TOKEN');
self::$bot = new Api($apiKey);
return self::$bot;
}
public static function send(int $chatId, string $message, array $additionalParams = []): ?Message
{
$bot = self::create();
$message = substr($message, 0, 4096);
$params = ['chat_id' => $chatId, 'text' => $message];
if (!empty($additionalParams)) {
$params = array_merge($params, $additionalParams);
}
return $bot->sendMessage($params);
}
public static function adminSend(string $telegramMessage): void
{
$telegramIds = env('TELEGRAM_USER_IDS');
if (empty($telegramIds)) {
return;
}
$telegramIds = explode(',', $telegramIds);
foreach ($telegramIds as $telegramId) {
self::send($telegramId, $telegramMessage);
}
}
}