Автоматическая публикация статей на канале в Telegram
SeoLik

2 июля 2024, 2:48
570

В данной статье расскажем основу, как создать Telegram бота и с его помощью постить контент на своем канале в Telegram. Вся информация по параметрам запросов находится в официальной документации Telegram.

Создаем Telegram бота

Вы должны быть авторизованы в Telegram. Хоть в приложении, хоть в веб версии.

В поиске находим пользователя @BotFather (это батя всех ботов)

создание бота в телеграм

 

@BotFather

После запуска бота, отправляем ему команду — /newbot или выбираем ее из меню.

После этого, указываем название бота. Можете написать даже русскими буквами.

А вот на этом шаге нужно придумать имя бота только на латинице и без пробелов. Вместо них нужно использовать нижнее подчеркивание. Обязательно в конце должно быть "bot", иначе будет ошибка. Если бот успешно зарегистрирован, @BotFather пришлёт вам сообщение с токеном, его обязательно сохраняем у себя на устройстве.

Отлично! Новый телеграм бот создан. Теперь нам нужно узнать ID чата нашего канала, в который хотим постить данные. Для этого нужно будет имя канала. В нашем случае это @seolik. Если ваш канал частный, то на время сделайте его публичным. Проделайте все операции описанные в данной статье и снова закройте его.

Чтобы узнать ID канала введите в строке браузера следующий код, где вместо BOT:TOKEN укажите свой токен, который вы получили от @BotFather и название вашего канала: 

https://api.telegram.org/botBOT:TOKEN/getChat?chat_id=@имяканала


https://api.telegram.org/bot7356797072:AAHXUxMBCdXapT4iaaeIUNXrUkSNG29dO_4/getChat?chat_id=@seolik

Послу выполнения этого запроса, вам нужно скопировать первый ID, как на скриншоте ниже. Именно этот ID понадобиться нам, для отправки сообщений на наш канал.

Второй вариант, это воспользоваться нашим инструментом для определения Chat ID.

Узнать Chat_id канала или группы Telegram

Теперь созданного нами бота нужно добавить как администратора на нашем канале. Для этого делаем следующее:

Открываем наш канал и нажимаем на кнопку с тремя точками. Далее выбираем меню Управление каналом (группой).

Находим раздел Администраторы. И нажимаем Добавить администратора и в поиске набираем полное имя нашего бота или его логин. Выбираем наш бот, подтверждаем согласие подписать его на наш канал и сделать администратором.

Теперь можем настроить разрешения для бота в качестве администратора.

Код скрипта на PHP для постинга сообщений в Telegram канале или группе

$title = 'Заголовок';
$des= 'Описание';
$url_post = 'https://seolik.ru/'; // Ваш url на страницу

 
$bot_token = '7356797072:AAHXUxMBCdXapT4iaaeIUNXrUkSNG29dO_4'; // токен бота

$text = '<strong>'.$title.'</strong>

<em>'.$des.'</em>

'.$url_post;
 

// параметры, которые отправятся в api телеграм
$params = array(
    'chat_id' => '-1001442431172', // id получателя сообщения
    'text' => $text, // текст сообщения
    'parse_mode' => 'HTML', // режим отображения сообщения, не обязательный параметр
	//'disable_web_page_preview' => true,
	//'reply_markup' => $reply_markup,
    //'disable_notification' => false
);

 
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://api.telegram.org/bot' . $bot_token . '/sendMessage'); // адрес api телеграм
curl_setopt($curl, CURLOPT_POST, true); // отправка данных методом POST
curl_setopt($curl, CURLOPT_TIMEOUT, 20); // максимальное время выполнения запроса
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT,20);
curl_setopt($curl, CURLOPT_POSTFIELDS, $params); // параметры запроса
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
$result = curl_exec($curl); // запрос к api
curl_close($curl);

$error = curl_error($curl);

print_r($result,true);

if ($error)
{
file_put_contents('api_telegram.txt', $error, FILE_APPEND);
}

 

Результат выполнения кода