Интеграция мессенджера Telegram с сайтом (уведомления, боты)

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.
Разработка и обслуживание любых видов сайтов:
Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Интеграция мессенджера Telegram с сайтом (уведомления, боты)
Средняя
от 1 рабочего дня до 3 рабочих дней
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1214
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    852
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1041
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    823
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    815

Интеграция мессенджера Telegram с сайтом (уведомления, боты)

Telegram Bot API — один из самых удобных инструментов для уведомлений и автоматизации. Бесплатный, быстрый, не требует регистрации имени отправителя. Покрывает большинство задач: уведомления администратору, сервисные сообщения пользователям, интерактивные боты для обработки заявок.

Уведомления в Telegram-чат (самый простой сценарий)

Быстрый способ получать уведомления о заказах или событиях на сайте — отправить в Telegram-чат через Bot API:

class TelegramNotifier
{
    public function send(string $message, string $parseMode = 'HTML'): void
    {
        Http::post("https://api.telegram.org/bot{$this->token}/sendMessage", [
            'chat_id'    => config('services.telegram.chat_id'),
            'text'       => $message,
            'parse_mode' => $parseMode
        ]);
    }
}

// Использование
$telegram->send(
    "🛒 <b>Новый заказ #{$order->id}</b>\n"
    . "Сумма: {$order->total} ₽\n"
    . "Клиент: {$order->customer_name}"
);

Для уведомлений в группу: бот должен быть добавлен в группу и иметь права на отправку сообщений. chat_id для группы — отрицательное число.

Webhook для входящих сообщений

Чтобы бот отвечал на сообщения пользователей, нужен webhook:

// Регистрация webhook
Http::post("https://api.telegram.org/bot{$token}/setWebhook", [
    'url'            => 'https://yoursite.ru/webhooks/telegram',
    'allowed_updates' => ['message', 'callback_query']
]);

// Обработчик
Route::post('/webhooks/telegram', function (Request $request) {
    $update = $request->json()->all();

    if (isset($update['message'])) {
        $chatId = $update['message']['chat']['id'];
        $text   = $update['message']['text'];

        dispatch(new ProcessTelegramMessageJob($chatId, $text));
    }

    if (isset($update['callback_query'])) {
        // Нажата inline-кнопка
        $callbackData = $update['callback_query']['data'];
        dispatch(new ProcessTelegramCallbackJob($update['callback_query']));
    }

    return response('OK');
});

Inline-клавиатуры для интерактивности

Http::post("https://api.telegram.org/bot{$token}/sendMessage", [
    'chat_id' => $chatId,
    'text'    => "Заявка #{$applicationId} получена. Что сделать?",
    'reply_markup' => json_encode([
        'inline_keyboard' => [[
            ['text' => '✅ Принять', 'callback_data' => "accept_{$applicationId}"],
            ['text' => '❌ Отклонить', 'callback_data' => "reject_{$applicationId}"]
        ]]
    ])
]);

Менеджер нажимает кнопку в Telegram → бот получает callback_query → обновляет статус заявки на сайте → отвечает подтверждением.

Telegram Login Widget

Аутентификация на сайте через Telegram:

<script async src="https://telegram.org/js/telegram-widget.js?22"
    data-telegram-login="YourBotName"
    data-size="large"
    data-auth-url="https://yoursite.ru/auth/telegram/callback"
    data-request-access="write">
</script>
// Верификация подписи
public function callback(Request $request): void
{
    $checkHash = $request->hash;
    $authData = $request->except('hash');
    ksort($authData);

    $dataCheckString = implode("\n", array_map(
        fn($k, $v) => "{$k}={$v}",
        array_keys($authData), $authData
    ));

    $secretKey = hash('sha256', config('services.telegram.bot_token'), true);
    $hash = hash_hmac('sha256', $dataCheckString, $secretKey);

    if (!hash_equals($hash, $checkHash)) {
        abort(403, 'Invalid Telegram signature');
    }

    // Авторизация пользователя
}

Сервисные уведомления пользователям

Для отправки уведомлений конкретным пользователям нужно сохранить их chat_id — он передаётся при первом обращении к боту. Пользователь начинает диалог с ботом, бот сохраняет chat_id в привязке к аккаунту сайта.

Срок интеграции: 2–3 дня для бота с уведомлениями, inline-кнопками и Telegram Login.