Уведомление об выполненном задании в Telegram

  • Автор темы Автор темы Reset
  • Дата начала Дата начала

Reset

A-Parser Enterprise License
A-Parser Enterprise
Всем привет
На самом деле такая тема уже есть, но мне показалось не очень удобно каждый раз добавлять уведомлялку через цепочку заданий, поэтому я пошел другим путем.

В А-парсере при настройке задания есть поле "Вызов Callback URL по завершению задания" на который после окончания задания отправится POST запрос, им то мы и воспользуемся.

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

Затем создаем PHP файл такого содержания, заполнив первые две константы токеном бота и ID канала соответственно.

Код:
<?php
const TOKEN = 'сюда токен бота'; //
const CHANNEL = 'сюда id канала';

$data = json_decode(file_get_contents('php://input'), true);
$taskUid = $data['taskUid'] ?? 0;

if ($taskUid) {
    $message = 'Finished task #'.$taskUid;
    $url = 'https://api.telegram.org/bot'.TOKEN.'/sendMessage?chat_id='.CHANNEL.'&text='.urlencode($message);
    file_get_contents($url);
}

Заливаем на любой хостинг, чтоб файл был доступен по URL, т.е. https://site.com/telegram.php (Кстати, для проверки можно перейти на получившийся URL, должна отобразится пустая страница)

После чего при создании задания вписываем этот URL в поле Вызов Callback URL по завершению задания и теперь после выполнения задания прийдет такое сообщение.

upload_2024-6-27_19-10-43.png

При необходимости добавить какие то данные, измените переменную $message под себя
 
Назад
Верх