Python-бот выиграл тысячу призов в Twitter
Находчивый программист Хантер Скотт написал бота, который автоматически принимает участие в рекламных играх, где нужно опубликовать сообщение с хештегом рекламодателя. Таких игр в твиттере проводится огромное количество, поэтому бот собрал неплохой урожай призов.
Программа представляет собой скрипт на Python, который логинился, искал твиты с сообщениями вроде «retweet to win!», а затем ретвитил их.
Бот работал непрерывно в течение девяти месяцев и выигрывал в среднем четыре приза в день. «Я не уверен, проделывал ли кто-нибудь подобное, но не видел никаких свидетельств ботов, работающих так же. Зато видел реальных людей, которые вручную проделывали такую работу, ретвитя сотни конкурсов за несколько часов», — пишет Хантер в своем блоге.
Некоторые конкурсы требуют, чтобы участники являлись читателями организатора. В этом случае бот пытался зафоловить его. Если это удавалось, он осуществлял ретвит.
Самым сложным за девять месяцев было избежать бана со стороны Twitter. У них есть разные антиспамерские схемы: они запрещают твитить слишком часто, много ретвитить, быстро фоловить и удалять из списка читателей. Точный механизм этой работы не разглашают, так что пришлось действовать методом проб и ошибок. Есть еще лимиты, на сколько людей можно подписываться и сколько должно быть читателей, причем между ними должна соблюдаться определенная пропорция, иначе аккаунт вызовет подозрение у администрации. Если у вас всего пару сотен читателей, то и вы не можете фоловить более 2000 человек.
Программист использовал метод FIFO, то есть перед регистрацией в конкурсе удалял самый старый аккаунт из списка, чтобы их общее число не превышало 2000. Это давало достаточно времени, чтобы убедиться, что отфоловленный организатор закончил свой конкурс, а уровень follow/unfollow ниже установленного лимита. Ему повезло: количество новых конкурсов оказалось больше, чем скорость, с которой работал бот. Поэтому получалось постоянно находить новые конкурсы и не останавливать процесс.
За девять месяцев скрипт принял участие в 165 000 конкурсах, из которых выиграл примерно тысячу.
Конечно, большинство призов представляет собой малополезные вещи вроде логотипов и автарчиков, билетов на всякие концерты и мероприятия, большинство из которых проводились в других странах. То есть пользы немного. Еще он выиграл огромное количество виртуальной валюты в разных онлайновых играх. Интересно, что когда игра Destiny раздавала бета-коды, пришло около 30 штук — так много проводилось розыгрышей.
Среди призов оказалось немало всяких экзотических штук. «Находить каждый день таинственные вещи в почтовом ящике было довольно прикольно», — признается Хантер Скотт. Получилась почти как в том комиксе Манро.
Самым классным из призов была ковбойская шляпа с автографами звезд какой-то мексиканской мыльной оперы. А самый дорогой приз — поездка на неделю высокой моды в Нью-Йорк с доставкой на лимузине от дома, на двоих. Такой билет стоит $4000, но Хантер не забрал его, чтобы не платить налоги с полученного приза. К тому же он хоть и американец, но живет далеко от Нью-Йорка.
Вот вся корзина с призами.
Были и смешные случаи, когда люди по приколу разыгрывали всякий мусор или писали «Сделай ретвит, и ты можешь выиграть абсолютно ничего». Естественно, бот тупо ретвитил их, и пару разу Хантер выиграл «абсолютно ничего».
В конце концов он понял, что может использовать бота и для чего-то хорошего. Например, для ретвита сообщений, за которые в благотворительные фонды перечислялись какие-то суммы.
Он добавил их в словарную базу скрипта.
Если кому интересно, полный список призов опубликован здесь.