Skip to content

sukhrobyangibaev/Dota-Data-Bot

Repository files navigation

Dota Data Bot

This project is a Telegram bot that provides various statistics and predictions related to Dota 2 matches.

Features

  • Fetches and displays match data from the OpenDota API.

11

  • Provides player statistics, including win/loss ratios, recent matches, player heroes stats, peers, totals, leaver status, and wordcloud.

22

  • Allows users to add and manage favourite players.

33

  • Provides live match updates.

44

  • Predicts match outcomes using pre-trained machine learning models.

1 2

Code Structure

  • main.py: The entry point of the application. It sets up the Telegram bot and handles user interactions.
  • helpers/helpers.py: Contains utility functions used throughout the project.
  • main_menu/players_menu/: Handles the player menu interactions.
  • constants.py: Contains constants used throughout the project, including pre-loaded machine learning models and database connections.

Setup

  1. Clone the repository.
  2. Install the required Python packages using pip:
pip install -r requirements.txt
  1. Set up your environment variables in a .env file. You'll need to set your Telegram bot token and MongoDB connection string.
  2. Run the bot:
python main.py

Note

The machine learning models used for match prediction are not included in the repository due to their size. You'll need to train your own models and place them in the models/ directory. You can refer to this project for an example of how to train these models.

About

Telegram bot that provides various statistics and predictions related to Dota 2 matches

Resources

Stars

Watchers

Forks

Contributors 2

Languages