1. Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2600+ и мы растем!
    Скрыть объявление

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

Тема в разделе "Делимся опытом", создана пользователем Reset, 27 июн 2024 в 19:11.

  1. Reset

    Reset A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    28 фев 2019
    Сообщения:
    20
    Симпатии:
    18
    Всем привет
    На самом деле такая тема уже есть, но мне показалось не очень удобно каждый раз добавлять уведомлялку через цепочку заданий, поэтому я пошел другим путем.

    В А-парсере при настройке задания есть поле "Вызов 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 под себя
     
    Support нравится это.

Поделиться этой страницей