TwitterFollowBot: Бот на Python для автоматизации действий в Twitter
TwitterFollowBot — бот на Python, который автоматизирует несколько действий в Twitter, например, отслеживание пользователей и добавление твитов в избранное. Проект распространяется под лицензией GPL.
Установка
TwitterFollowBot можно установить с помощью менеджера пакетов pip
pip install TwitterFollowBot
Затем необходимо установить библиотеку python-twitter:
pip install twitter
Также потребуется создание учетной записи приложение на сайте. Затем:
- Войдите в учетную запись Twitter;
- Создайте новую запись приложения;
- В настройках учетной записи приложения разрешите
чтение
изапись
; - Создайте токен OAuth с разрешением на
чтение
изапись
.
Следуя инструкции выше, вы создадите четыре токена, которые нужно будет поместить в файл конфигурации. Об этом ниже.
Настройка бота
Перед запуском бота его нужно настроить, чтобы он мог подключаться к Twitter API. Для этого создайте файл config.txt
и укажите следующее:
OAUTH_TOKEN: OAUTH_SECRET: CONSUMER_KEY: CONSUMER_SECRET: TWITTER_HANDLE: ALREADY_FOLLOWED_FILE:already-followed.txt FOLLOWERS_FILE:followers.txt FOLLOWS_FILE:following.txt USERS_KEEP_FOLLOWING: USERS_KEEP_UNMUTED: USERS_KEEP_MUTED: FOLLOW_BACKOFF_MIN_SECONDS:10 FOLLOW_BACKOFF_MAX_SECONDS:60
OAUTH_TOKEN
, OAUTH_SECRET
, CONSUMER_KEY
и CONSUMER_SECRET
— это ваши ключи API, которые вы получили при создании учетной записи приложения. TWITTER_HANDLE
— ваше имя в Twitter с учетом регистра.
Примечание: Вы можете изменить записи FILE
, если хотите сохранить информацию в определенной директории на компьютере. По умолчанию файлы будут созданы в текущем каталоге.
Добавьте запятые между идентификаторами пользователей Twitter в записи USERS_KEEP
, чтобы:
USERS_KEEP_FOLLOWING
: продолжать подписываться на пользователей, даже если они не подписываются на вас.-
USERS_KEEP_UNMUTED
: продолжать получать уведомления от пользователей, когда они пишут твиты. USERS_KEEP_MUTED
: не получать уведомления, когда пользователи пишут твиты.
Например:
... FOLLOWS_FILE:following.txt USERS_KEEP_FOLLOWING:1234,1235,1236 USERS_KEEP_UNMUTED: ...
Узнать идентификатор пользователя можно здесь.
Пример бота
from TwitterFollowBot import TwitterBot my_bot = TwitterBot()
По умолчанию бот будет искать файл конфигурации с именем config.txt
в текущем каталоге.
Если захотите использовать другой файл конфигурации, передайте его боту следующим образом:
from TwitterFollowBot import TwitterBot my_bot = TwitterBot("my-other-bot-config.txt")
Примечание: Таким образов можно запустить несколько экземпляров бота с разными конфигурациями, например, если вы запускаете несколько учетных записей Twitter.
Локальная синхронизация подписчиков в Twitter
Из-за ограничения скорость Twitter API бот должен поддерживать локальный кеш всех ваших подписчиков, чтобы он не тратил время API для их поиска. Автор бота рекомендует синхронизировать локальный кеш ежедневно.
from TwitterFollowBot import TwitterBot my_bot = TwitterBot() my_bot.sync_follows()
Бот создаст файлы кеша там, где вы указали в файле конфигурации.
Примечание: Не удаляйте файлы кеша (по умолчанию followers.txt
, follow.txt
и already-followed.txt
), если не хотите запускать бота заново со свежим кешем.
Автоматизация действий
Бот имеет несколько функций для программного взаимодействия с Twitter. Среди них:
- Автоматическая подписка на пользователей, которые пишут в Twitter что-то определенное (по фразе):
from TwitterFollowBot import TwitterBot my_bot = TwitterBot() my_bot.auto_follow("phrase")
Можно задать автоматическую подписку на пользователя, который ставит определенный хештег:
from TwitterFollowBot import TwitterBot my_bot = TwitterBot() my_bot.auto_follow("#hashtag")
По умолчанию бот просматривает 100 последних твитов. С помощью параметра count
можно изменить это число:
from TwitterFollowBot import TwitterBot my_bot = TwitterBot() my_bot.auto_follow("phrase", count=1000)
- Автоматическая подписка на любых пользователей, которые подписались на вас:
from TwitterFollowBot import TwitterBot my_bot = TwitterBot() my_bot.auto_follow_followers()
- Автоматическая подписка на всех пользователей, которые подписались на указанного пользователя:
from TwitterFollowBot import TwitterBot my_bot = TwitterBot() my_bot.auto_follow_followers_of_user("jack", count=1000)
- Автоматическое добавление в избранное любых твитов с определенной фразой:
from TwitterFollowBot import TwitterBot my_bot = TwitterBot() my_bot.auto_fav("phrase", count=1000)
- Автоматический ретвит твитов, содержащих определенную фразу:
from TwitterFollowBot import TwitterBot my_bot = TwitterBot() my_bot.auto_rt("phrase", count=1000)
- Автоматическая отписка от пользователей, которые не подписались на вас в ответ:
from TwitterFollowBot import TwitterBot my_bot = TwitterBot() my_bot.auto_unfollow_nonfollowers()
Примечание: Если есть пользователи, от которых вы не хотите отписывать автоматически, добавьте их идентификатор в список USERS_KEEP_FOLLOWING
. Вам нужно будет вручную отредактировать код, если хотите добавить специальных пользователей, на которых вы будете продолжать подписываться, даже если они не будут подписываться на вас.
- Автоматическая отписка всех пользователей от вас:
from TwitterFollowBot import TwitterBot my_bot = TwitterBot() my_bot.auto_unfollow_all_followers()
- Автоматическое отключение звуковых оповещений от всех пользователей, на которых вы подписаны:
from TwitterFollowBot import TwitterBot my_bot = TwitterBot() my_bot.auto_mute_following()
Примечание: Вам нужно будет вручную отредактировать код для создания списка исключений из пользователей, при получении уведомлений от которых не будет отключен звук.
- Автоматическое включение всех, кого вы отключили:
from TwitterFollowBot import TwitterBot my_bot = TwitterBot() my_bot.auto_unmute()
Примечание: Вам нужно будет вручную отредактировать код, если вы хотите добавить специальных пользователей, которые останутся отключенными.
- Автоматическая публикация твита:
from TwitterFollowBot import TwitterBot my_bot = TwitterBot() my_bot.send_tweet("Hello world!")
- Автоматическое добавление пользователей, которые пишут что-то в Twitter, в один из ваших списков:
from TwitterFollowBot import TwitterBot my_bot = TwitterBot() my_bot.auto_add_to_list("#TwitterBot", "twitterbot-list", count=10)
В примере выше бот добавляет в список twitterbot-list
пользователей, которые пишут хештег TwitterBot
. Максимальное количество пользователей в списке — 5000.
Автор предупреждает, что последнее время Twitter начал предпринимать жесткие меры против пользователей, которые используют боты, поэтому он не несет ответственность то, что вы будете делать с этим ботом. Злоупотребление TwitterFollowBot может привести к блокировке Twitter, поэтому предварительно ознакомьтесь с информацией о правильном использовании Twitter API.
Ранее мы писали о том, как создать бот-анекдот в Twitter с помощью Python и Zapier.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: