TeamFightTacticsBots / Alune

Mobile TFT Bot - Automate Teamfight Tactics in the mobile version through emulators, to farm pass exp and event tokens.
GNU Affero General Public License v3.0
55 stars 8 forks source link
bot opencv python teamfighttactics teamfighttactics-bot tft tft-bot

alune_header

Teamfight Tactics / TFT bot for the mobile version. Farms pass experience, events, and tokens.

Table of Contents

  1. Features
  2. Setup
    1. Android Emulator
    2. Bot (executable)
    3. Bot (source)
  3. Running
    1. Emulator
    2. Bot (executable)
    3. Bot (source)
  4. Development

Features

The purpose is to farm the TFT pass experience and League event tokens. The bot is "good enough". We will never support playing ranked with it. We also do not encourage you to learn from its decisions.

  1. Uses ADB to be able to support every emulator or phone and runs in the background
  2. Can start up TFT and queues for normal games
  3. Buys experience and shop cards
  4. Rolls and buys augments
  5. Walks around on carousel rounds
  6. Capable of surrendering early for faster TFT pass experience

You can find planned and potential future features on our Features wiki page.

The TFT bot is available as a Windows executable for convenience. Running from source is supported as well.

Setup

Android Emulator

  1. Download any Android emulator you find trustworthy that also has reasonable ADB support.
    1. Please refer to the wiki page about emulators for more information.
  2. Install the TFT APK by downloading it from APKMirror and dragging it into your emulator.
    1. If drag and drop does not work, review your emulator's documentation on how to install APK files.
    2. While the bot should work with the Google Play version, we discourage using Google Play. It may add overlays the bot does not check for. It is also generally good security practice to not enter your Google credentials in emulators.
  3. Start the TFT app and log in to your Riot account.
    1. If you get a warning about needing to try again later, try a linked social log-in (Google, Facebook, Xbox).

Bot (executable)

  1. Download the latest release.

Bot (source)

  1. Download and install Python 3.12 for your operating system
  2. Download and install git for your operating system
  3. Open a shell of your choice (Defaults: PowerShell on Windows, Zsh on MacOS, Bash on Linux)
    1. You can verify your python version by running python --version.
  4. Clone this repository: git clone https://github.com/TeamFightTacticsBots/Alune.git
  5. Go into the repository: cd Alune
  6. Create a virtual Python environment: python -m venv alune-venv
  7. Activate the virtual environment.
    1. PowerShell: alune-venv\Scripts\Activate.ps1, Zsh/Bash: alune-venv/bin/activate
    2. This should put (alune-venv) in the front of your shell prompt string.
  8. Install the project dependencies: pip install .
    1. If you want to install for a development environment, use pip install .[dev]

Running

Emulator

  1. Make sure your emulator runs and is interactable.

[!NOTE] While the bot will handle almost any scenario the app may run into, it will never log in for you. You do not need to start TFT for the bot to be able to run, but it is a good idea to check if you are logged in.

Bot (executable)

  1. Run the downloaded Alune.exe.

The configuration for the bot can be found in the alune-output folder that's created during the first run. Logs for bug reports can be found in the logs folder in that output folder.

Bot (source)

  1. If not already active, activate the virtual environment - see setup step 7.
    1. If you use PyCharm or VS Code, you can use the in-built terminal, which does this automatically for you.
  2. Run python main.py

Same as with the executable, configuration and logs are in the alune-output folder.

Development

Linting

The project uses automatic formatting. Use the following lint commands available to you after installation:

black .
isort .
flake8
pylint main.py alune

Compiling

Bundling the project into a .exe can be done with

pyinstaller Alune.spec