Очередная инструкция по созданию бота. На этот раз мы расскажем, как с помощью Python и инструмента для автоматизации задач и создания рабочих процессов путем интеграции различных приложений Zapier написать Twitter-бот, который будет раз в час постить шутки. Инструкцией в своем блоге на dev.to поделился разработчик Рахул Банерджи.
Разработанный бот будет получать шутки из официального приложения и постить их в Twitter раз в час. Вот как он будет выглядеть. Также Рахул Банерджи добавил в него функцию, которая дает пользователю возможность указывать список хештегов для каждого твита.
Пример твита
Для этого необходимо воспользоваться библиотекой запросов и сделать GET-запрос к приложению с шутками. Ниже приведен фрагмент кода для отправки запроса:
import request url = "https://official-joke-api.appspot.com/random_joke" response = response.get(url) print(response.json())
Шутки написаны в формате вопрос-ответ
, поэтому прежде чем их публиковать, нужно отформатировать текст, а также добавить в конце хештеги.
test= [] question = response.json()['setup'] answer = response.json()['punchline'] ''' This list will be taken as an input ''' hashtags = ['humor', 'zapier', 'jokes'] hashtags = ['#'+tag for tag in hashtags] hashtags = " ".join(hashtags) text.append(question) for_in range(6): text.append('.') text.append(answer) text.append(" ") text.append(" ") text.append(hashtags) tweet = '\n'.join(text) print(tweet)
.
;join()
будет использоваться для создания финального твита;#
и создать строку со всеми хештегами.Пример твита:
Что самое сложно в дизайне? . . . . . . Удержаться от фич.
Проекты в Zapier называются Zap’ами.
Шаг 3: Установка триггера
Каждый проект в Zapier требует триггер — событие, запускающее Zap. Например, это может быть: получение электронного письма или пул-реквеста на GitHub, обновление RSS-канала, получение сообщения в Slack или заказа в WooCommerce или работа триггера по расписанию, который запускается ежечасно, ежедневно, еженедельно или ежемесячно. Так как мы хотим, чтобы твиты публиковались ежедневно, выбираем триггер по расписанию. Это первый элемент в правом столбце:
Выбор триггера
Затем:
Если триггер сработал успешно, появится такая картинка
+
как показано ниже:Подключение кода Python
Подключение кода Python
Чтобы внести данные, нажмите кнопку +
в разделе Input Data. Чтобы получить доступ к входам, нужно получить разрешение к словарю +
. Значения ключевых хештегов хранятся в виде строки, а не списка.
Чтобы преобразовать их в список, можно воспользоваться функцией eval()
. То же самое и со словарными значениями.
import request url = input_data.get("url") hashtags = eval(input_data.get("hashtags")) response = request.get(url) text= [] question = response.json()['setup'] answer = response.json()['punchline'] ''' This list will be taken as an input ''' hashtags = ['#'+tag for tag in hashtags] hashtags = " ".join(hashtags) text.append(question) for_in range(6): text.append('.') text.append(answer) text.append(" ") text.append(" ") text.append(hashtags) tweet = '\n'.join(text) output = {} output['tweet'] = tweet
Данные, которые должны быть возвращены, будут храниться в словаре с именем output
.
Не забывайте нажимать Test and Review или Retest Action каждый раз, когда хотите запустить код. Ниже представлен результат выполнения скрипта. Этот выходной словарь будет использован в дальнейшем для написания шутки в Twitter.
Успешный запуск скрипта
+
и добавьте новое действие как показано ниже.Подключение приложения
Twitter
;Подключение приложения
Приложение Twitter
Успешный запуск приложения
Вот и все! Если описанные действия проделаны правильно, в вашем твиттер-аккаунте каждый час будет появляться анекдот.
Ранее мы писали о том, как с помощью Python создать бот для Instagram и Telegram.
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…