BOT-A is a free Discord Dota 2 bot which provides comprehensive Information of every Dota 2 characters and exciting features for the community. Pull request are welcome and report any issues you find. The Bot is still in beta so I don't expect it to be perfect.

Commands & Screenshots

Commands List: !help

  1. Command: !counter morphling
  2. Command: !item storm


Before setting up the environment we first need to get:

  1. Discord Token
  2. Discord Client ID
  3. Dota2 API key
  4. Twitch Client ID
  5. Discord User (Optional)
  • To get Discord Token and Discord Client ID you can check this
  • You can get your Dota2 API key from here
  • To get Twitch Client ID you need to register an application in Twitch developer. You can follow this
  • You can get your Discord User by clicking on your profile in discord. It will look like YourName#1234 eg: bendang#3278

Once this is done you can assign all this key values in bota/

Setup Bota

  1. Clone repo and Setup postgres DB

    # clone repo
    git clone
    cd bota
    # Install and setup PSQL
    # default password given, please check to change password
  2. Run the independent flask server which handles the log process.

  3. Run the bot. There are two ways to run BOTA

    1. Run using Docker. (RECOMMENDED)
    2. Run directly from the Repository

1. Run using Docker (RECOMMENDED)

  1. Download the docker image from DockerHub or download directly using:
    docker pull bendang/bota:latest
  2. Run the docker image with the credentials which you got from Pre-Requirements:
    # docker run --rm -i -t --net=host --entrypoint=/bota/ bendang/bota:latest "DISCORD_TOKEN" "DISCORD_CLIENT_ID" "DOTA2_API_KEY" "ADMIN_ID" "TWITCH_CLIENT_IDS" "LOG_PROCESS_IP_ADDRESS"
    docker run --rm -i -t --net=host --entrypoint=/bota/ bendang/bota:latest 1234 ABCD 6789 YOU#67 FGHI

2. Run directly from Repository

  1. Install requirements

    sudo sh
  2. Create two Screen.

    1. Screen 1: Run the scrap process
    2. Screen 2: Run the BOT process

CAUTION : While running directly from repository if you are using chrome it will automatically close as the scrap process uses it and it kills once the scraping is done.