Программа мониторинга подписок Twitter-аккаунтов
Цель задачи
Разработать программу на Python для мониторинга изменений в подписках заданного списка Twitter-аккаунтов с автоматическим сохранением результатов в Google таблицу и отправкой уведомлений о новых подписках в Telegram-канал.
Функциональные требования
1. Мониторинг подписокИмеется заранее заданный список Twitter-аккаунтов (далее — «контрольные аккаунты»).
Программа должна регулярно (интервал мониторинга — раз в час) проверять список подписок каждого контрольного аккаунта.
При обнаружении новой подписки (т.е. аккаунт из контрольного списка подписался на новый аккаунт):
Создавать запись, фиксирующую:
username аккаунта, на который произошла подписка;
username контрольного аккаунта, совершившего подписку;
дату и время первой зафиксированной подписки.
Отправлять уведомление в Telegram-канал о новой подписке (с указанием usernames обоих аккаунтов и даты/времени).
Если несколько контрольных аккаунтов подписаны на один и тот же аккаунт, необходимо:
Обновлять запись, указывая количество контрольных аккаунтов, подписанных на данный аккаунт;
Перечислять usernames всех контрольных аккаунтов, которые подписаны на данный аккаунт.
При отписке аккаунта из контрольного списка от другого аккаунта:
Обновлять данные, уменьшая количество подписчиков и актуализируя список контрольных аккаунтов.
Если ни один контрольный аккаунт больше не подписан на определённый аккаунт, удалять этот аккаунт из таблицы мониторинга.
Данные должны автоматически сохраняться в Google таблицу.
Обязательные поля данных:
username аккаунта, на который подписались;
список usernames контрольных аккаунтов, которые подписаны;
количество подписанных контрольных аккаунтов;
дата и время первой подписки.
Дополнительные требования
Возможность легко добавлять или удалять контрольные аккаунты из списка мониторинга.
Желательно предусмотреть простое логирование ошибок и действий программы.
Ответы на вопросы:
Стек технологий: Python.
Интервал мониторинга: 1 час.
Уведомления о новых подписках: требуются уведомления в Telegram-канал.