Попробуйте бесплатно
При регистрации Вы получаете:
- бесплатно 14 дней и 1.000 запусков сценариев;
- доступ к готовым API (Telegram, Битрикс24, Cloud Payments и другие);
- автоматизацию без программирования — настройте интеграцию за 5 минут.
Представим, что есть следующая задача:
Проще говоря мы хотим получать последние новости, оформлять их, привносить полезную информацию или делать рерайт и публиковать в своем Телеграм канале. Для этого нам потребуется организовать цепочку шагов внутри сценария, каждый из которых будет выполнять свою задачу:
Создаем HTTP модуль и прописываем в нем ссылку на RSS канал, метод выбираем GET:
На выходе мы получим список статей, у каждой из которых есть 2 нужных нам параметра - название статьи (title) и ссылка (link):
Мы можем пройтись по всем новостям или ограничиться, например, одной.
ВАЖНО! Каждая итерация кроме первой считается за новый запуск сценария, поэтому рекомендуется ограничить количество итераций. Если этого не сделать, итератор пройдет по всему списку (100-200 и более статей) и на каждую вызовет парсинг и генерацию текста, в итоге вы можете в случае некорректной настройки сценария потерять много запусков у нас, а так же потратить баланс на HydraAI. Увеличивайте число только если проверили, что все работает правильно.
Для этого используем модуль Итератор, укажем в нем путь до массива списка новостей и поставим ограничение количества итераций 1:
{{ s1.body.rss.channel.item }}
Теперь итератор будет работать с каждой новостью отдельно и на выходе в body мы сразу получим title и link.
Нам не нужно публиковать одну и ту же новость более 1 раза - для этого будем проверять ее на наличие дублей во встроенной базе данных.
Первым делом - нужно создать новую базу в разделе "Базы данных". Далее создаем 3 шагом модуль DB, выбираем созданную базу, выбираем действие "Получить строки", а в условие добавляем значение для поиска:
a = "{{ s2.body.link }}"
Далее мы добавляем два шага но один уровень модуля IF - это будет развилка, чтобы отправить новость на парсинг и рерайт, либо остановить выполение сценария, если такая новость уже есть в базе:
В IF слева прописываем:
{{ s3.body.cnt == 0 }}
В IF справа прописываем:
{{ s3.body.cnt > 0 }}
Теперь, если записи в базе не будет - выполняться будет левая ветка, если будет, то правая.
В левую ветку после IF добавляем снова модуль DB для того, чтобы записать link в базу:
Пишем в столбец a:
{{ s2.body.link }}
Логика проверки дублей готова!
Первым делом нам нужно получить содержимое новость по ее link. Добавляем следующий шаг - сервис HydraAI:
В поле "Действие" выбираем "Парсинг WEB страниц", в URL подставляем переменную:
{{ s2.body.link }}
В подключении - выбираем созданное подключение к HydraAI (подробнее).
Далее, после того, как мы получили текст новости - отправляем его на рерайт, добавляя следующий шаг:
Действие: Генерация текста;
Промт:
Ниже тебе подается статья в формате Markdown - сделай рерайт новости (перепиши с сохранением смысла).
{{ s7.body.results.content }}
Подключение: созданное ранее.
Отпрвить можно куда угодно, но мы для простоты рассмотрим отправку в @APInitaBot, то есть на ваш Телеграм, в котором осуществлен вход в бот. На практике, вы можете отправить сообщение в группу/сообщество - для этого нужно добавить вашего бота в эту самую группу и выдать ему права администратора, чтобы он мог публиковать новости. Подробнее о подключении существующих и создании новых ботов можно прочитать здесь.
Добавляем сервис - Telegram:
Действие: Отправить сообщение
ID чата: выбираем "APInitaBot", после чего, если вы не авторизованы, вам будет показан QR код для авторизации в боте.
Текст сообщения:
{{ s8.body.choices.0.message.content }}
Жмем сохранить и запускаем сценарий. Если все настроено верно, вы получите рерайт новости в свой Телеграм.
Обратите внимание, что работа сценария может занять до 1 минуты на 1 итерацию.
Похожие решения