Для того, чтобы отправить сообщение с сайта в чат/канал телеграмма нам придётся взаимодействовать с API Telegram, но тут нет ничего страшного, по сути там будем использовать одни и те же параметры для запроса и пару функций PHP – urlencode() и file_get_contents().
По сути задача состоит состоит из 3-х этапов:
Для решения 1 и 2-й задачи достаточно просто следовать инструкциям и не нужно обладать какими-либо знаниями PHP.
1 этап – получить Токен бота
Для того, чтобы получить токен вам нужно зайти в Telegram и найти в поиске системного бота @BotFather и зайти к нему. Он единственный с синей галочкой – остальные нам не нужны

Далее нужно нажать кнопку Запустить и тогда у вас появится большой список с командами, которые вы сможете использовать

Нас интересует команда /newbot. Дальше нужно будет ввести название бота – название можно указывать любое, а также нужно будет указать никнейм (username) бота – вот тут придётся хорошо подумать, тк сейчас уже создано очень много ботов и какой-то красивый никнейм уже может быть занят. Ещё одно важно условие при создании никнейма – в конце должно быть указано bot.

Урааа! Первый этап благополучно завершился и мы теперь можем спокойно использовать токен нашего бота (на картинке он выделен красным).
2 этап – Получить ID чата/канала
Второй этап менее простой и требует большей внимательности.
Для начала нам нужно добавить нашего бота в тот чат/канал в который этот бот будет постить наши сообщения с сайта. Для этого заходим в настройки чата/канала в раздел Информация и добавляем нового пользователя, а также наделяем его административными правами. Я предпочитаю оставлять у бота только права на публикацию сообщений.

Следующим шагом будет определение ID данного канала. Тут тоже ничего сложного – нужно в браузерную строку поиска вставить код, указанный ниже:
https://api.telegram.org/botТОКЕН/getUpdates //ТОКЕН заменить на токен полученый ранее при создании бота, //слово bot не удаляем и никаких знаком между токеном и bot не ставим //Пример: https://api.telegram.org/bot5282805698:AAEGoHOcWLU6zGAdwF6OI7fztzVakre84fQ/getUpdates
В результате мы получим что-то вроде такого:

Несмотря на то, что результат пустой – всё получилось. Сейчас нужно просто зайти в тот самый тестовый чат/канал и написать любое сообщение

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

Ура! Вот теперь мы получили ID нашего чата/канала.
Важно! что если перед ID стоит “-“, то мы его не забываем скопировать вместе с номером.
3 этап – Отправляем сообщение
Всё. Теперь у нас есть вся необходимая информация для взаимодействия с API Telegram и публикации поста.
Всё что нам нужно это просто отправить запрос следующего вида
https://api.telegram.org/bot5282805698:AAEGoHOcWLU6zGAdwF6OI7fztzVakre84fQ/sendMessage?chat_id=-1001565978363&text=new%20text //Выведет сообщение в чате telegram - new text //%20 - это url код для замены пробела

По сути всё, с этим можно уже работать, но не всегда результат будет тот что надо, так как есть некоторые правила на символы в url строке, которые обязательно нужно соблюдать – вот тут нам и пригодится функция urlencode(), которая кодирует текстовую строку в пригодную для использования в url. Плюс, чтобы не отправлять всякими странными путями запросы мы будем использовать функцию file_get_contents(). Пример кода ниже:
$bot_token = '5282805698:AAEGoHOcWLU6zGAdwF6OI7fztzVakre84fQ'; $chat_id = '-1001565978363'; $message = 'new text for chat'; $url = 'https://api.telegram.org/bot' . $bot_token . '/sendMessage?chat_id=' . $chat_id . '&text=' . $message; file_get_contents( $url ); //Выведет сообщение в чате - new text for chat
Ура! Мы отправили сообщение в чат телеграмм используя код PHP и всего 2 функции.

Бонус
Если вы захотите передавать с Telegram чат изображение или сообщение в котором захотите сделать отступы или выделить жирным какой элемент текста, то можете посмотреть как это сделать здесь.