Автопостинг у Telegram — це одна з тих речей, яка одного разу налаштовується, а потім роками економить тобі час. Якщо ти ведеш блог, інтернет-магазин або інформаційний ресурс, автоматична публікація нових матеріалів у канал дозволяє не забувати про аудиторію та підтримувати регулярність без ручної роботи.
Сьогодні покажу, як реалізувати автопостинг у Telegram через офіційний Bot API за допомогою PHP. Це рішення чудово вписується в будь-яку back-end розробку і легко інтегрується в існуючий сайт.
Як працює автопостинг у Telegram
Усе максимально просто: ти створюєш Telegram-бота, отримуєш токен доступу до API, додаєш бота в канал як адміністратора і відправляєш HTTP-запит із PHP-скрипта.
Фактично це звичайний POST-запит до API Telegram із текстом повідомлення. Тому якщо ти вже займаєшся веб-розробкою і працюєш із PHP — проблем не виникне.
Крок 1. Створення бота через BotFather
У Telegram знайди бота @BotFather та клацни по кнопці Open:

Відкриється нове вікно-інтерфейс для взаємодії з ботом, натискай кнопку "Create a New Bot":

Дай боту назву та посилання. Зверни увагу, що посилання обов'язково має закінчуватися на "_bot":

Після створення ти отримаєш токен виду:
Збережи його — це ключ до API:

Крок 2. Додавання бота до каналу
Створи канал або використай існуючий. Додай бота як адміністратора з правом публікації повідомлень. Без цього автопостинг не працюватиме.





Щоб дізнатися chat_id каналу, можна скористатися простим способом — переслати будь-яке повідомлення з каналу боту @userinfobot або використати getUpdates. Можна також використати слаг каналу замість ID, якщо ти присвоював/ла його раніше (все, що йде після t.me/):

Крок 3. Простий PHP-скрипт для відправки повідомлення
Тепер найцікавіше — код. Ось мінімальний приклад:
Це базовий варіант для PHP без сторонніх бібліотек. Якщо відповідь API містить "ok": true, значить усе працює.
Автопостинг при публікації статті
Тепер давай зробимо це по-дорослому. У реальному проєкті автопостинг потрібно прив’язати до моменту створення або публікації матеріалу.
Приклад логіки
- Користувач додає нову статтю в адмінці.
- Дані зберігаються в базу.
- Після успішного запису викликається функція відправки в Telegram.
Цю функцію можна викликати одразу після INSERT-запиту в MySQL. Це типовий сценарій для Back-end розробки, коли сервер відповідає не лише за збереження даних, а й за інтеграцію з зовнішніми сервісами.
Форматування повідомлень
Telegram підтримує HTML та Markdown. Я рекомендую використовувати HTML — він передбачуваніший.
Ти можеш:
- виділяти текст жирним через <b>
- робити курсив через <i>
- додавати посилання через <a href="">
Головне — екранувати спецсимволи, якщо вони приходять із бази даних.
Відправка зображень
Щоб зробити пости привабливішими, краще надсилати не просто текст, а зображення з підписом.
Такий підхід особливо добре працює для блогів, новинних ресурсів і будь-яких проєктів у категорії месенджери та соціальні мережі.
Безпека і правильне зберігання токена
Ніколи не зберігай токен прямо в публічному репозиторії. Краще винеси його в:
- .env файл
- конфігураційний файл поза webroot
- змінну середовища сервера
У професійній веб-розробці це базове правило. Якщо хтось отримає твій токен — він зможе публікувати повідомлення від імені бота.
Автопостинг через cron
Інший варіант — запускати PHP-скрипт через cron. Наприклад, якщо ти хочеш:
- публікувати відкладені статті
- робити дайджести раз на день
- автоматично нагадувати про старі матеріали
Це дозволяє повністю автоматизувати процес і зробити систему автономною.
Типові помилки
- Бот не доданий як адміністратор каналу.
- Неправильний chat_id.
- Помилки в HTML-розмітці повідомлення.
- Відключений allow_url_fopen у PHP.
Зазвичай проблема вирішується перевіркою відповіді API — не ігноруй її.
Підсумок
Автопостинг у Telegram через API за допомогою PHP — це простий і дуже потужний інструмент. Тобі потрібен лише бот, токен і кілька десятків рядків коду.
Якщо ти займаєшся back-end розробкою або просто розвиваєш власний проєкт у сфері веб-розробки, така автоматизація зекономить купу часу й допоможе стабільно розвивати канал. Налаштував один раз — і працює роками 🙂

Прокоментувати
На сайті відображається лише твоє ім'я та коментар. Електронна пошта зберігається виключно для зв'язку з тобою за потреби та в жодному разі не передається стороннім особам.