Python — рационально ли использовать для ботописания?
Доброго времени суток, дорогие участники данного ресурса!
Есть задача - написать бота для одной онлайн игры. Фактически, он уже написан, но сделано это на PHP+AutoIt.
Онлайн-игра крайне простая (принимает обычные POST- и GET- запросы), поэтому с этой частью сложностей не возникает - перенести подобное на питон плевое дело, учитывая то, насколько сильно модуль requests упрощает это дело (по сравнению с curl - небо и земля).
Вопрос состоит в другом.
Дело в том, что количество аккаунтов может быть больше одной штуки. И на данный момент все функции, которые что-то делают, они пробивают эти аккаунты последовательно, т.е. один за другим - это очень палевно, ибо одни и те же аккаунты получают одни и те же суммы в одно и то же время и находятся в одной и той же группе (почти любая онлайн-игра поддерживает создание кооперативов, это приводит еще к большему палеву).
Теперь ближе к сути вопроса.
Насколько реально, используя питон, добавить возможность отложенного запуска функции?
Например. Я хочу, чтобы для функции A('Аккаунт_1') вызов осуществился трижды, в такое-то и такое-то время.
В то же время, функция A('Аккаунт_2') должна сделать четыре вызова, в какое-то время, отличное от функции выше.
Так же там может быть функция B(...), которая тоже что-то должна делать для каждого из аккаунтов, независимо друг от друга и от функций А(...).
Самый первый вариант, который приходит мне в голову - это использовать py-скрипт с алгоритмом бота на каждый отдельный аккаунт (т.е. создать кучу py-скриптов, каждый из которых будет использоваться только для одного аккаунта), однако когда аккаунтов очень много и функция не одна - это крайне плохая стратегия.
Каким образом быть? threading, asyncio, tornado? Что позволит реализовать задумку при минимальных затратах?
Или, возможно, стоит использовать IronPython? Правда, тогда весь смысл теряется, как и возможности requests - я бы мог напрямую использовать C# с таким же успехом.
одни и те же аккаунты получают одни и те же суммы в одно и то же время и находятся в одной и той же группе
По айпи еще могут определить, что владелец ботов один человек-). Легче тогда сделать одну программу, которая заходит последовательно под разными аккаунтами, через разные прокси сервера.
Вопрос не в этом. Я не касаюсь технических тонкостей, которые могу решить самостоятельно. Если бы вопрос стоял о том, как очеловечить ботов, то это было бы отражено в топике.
А делать последовательно - это такой, крайний вариант. Все же у меня есть более удачные наработки по поводу поведения ботов, вопрос лишь в технической стороне.