Проект для автоматизации рутины в Ogame. В первую очередь создавался для сейва флота в случае атаки.
Сейчас реализован скрипт, который каждые N минут проверяет, не нападает ли кто-то на нас. Если нападает и до момента прилёта вражеского флота осталось меньше M минут, то запускается сейв флота: берутся все корабли на планете, загружаются все ресурсы, которые влазят, и флот отправляется на минимальной скорости к другой нашей планете или в экспедицию (если у нас только одна планета). После этого флот помещается в очередь на возврат. Если планета больше не в опасности, миссия сейва отменяется и отправленный флот возвращается на исходную планету.
Также реализована возможность отправки уведомлений в телеграм бот (нужно создать свой)
Взаимодействие с игрой реализовано через работу с selenium webdriver. Очередь сейвов и возвратов флотов записывается в локальный файл базы данных sqlite3.
- Установить python >=3.6.4 (в момент разработки именно этот у меня установлен, на других не проверял, но на более последних должно работать) https://www.python.org/
- Установить pip (для установки пакетов зависимостей)
- Скачать репозиторий
- В терминале, находясь в корне репозитория, выполнить
pip install -r ./requirements.txt
(установка пакетов) - Установить переменные окружения для скриптов. Вот список переменных, используемых скриптами: EMAIL - имейл вашей учётной записи игры PASSWORD - пароль учётной записи UNIVERSE - имя вселенной, игру в которой будет продолжать скрипт. Опционально. Если не указано, продолжиться последняя игра HEADLESS - режим браузера, создаваемого скриптом. (True или False). Если False, то можно наглядно посмотреть, куда тыкает скрипт. Опционально. Значение по-умолчанию False TELEGRAM_TOKEN - токен вашего бота в телеге. Если не указан, оповещения отправляться не будут. TELEGRAM_BOT_CHAT_ID - айди чата, в который бот будет отправлять уведомления. Если не указан, оповещения отправляться не будут.
- Добавить путь к корню репозитория в переменную окружения PYTHONPATH
- В терминале, находясь в корне репозитория, выполнить
python ./Tests/SaveFleetTest.py
Скрипты в этом проекте не являются абсолютной защитой от атак, так что не нужно полагаться исключительно на них. Взаимодействие с UI элементами довольно нестабильный способ, поэтому часто бывают исключения, следить за которыми удобно с помощью бота в телеге. По возможности будет проводиться работа по улучшению.