Skip to content
This repository has been archived by the owner on Sep 24, 2019. It is now read-only.

zachkont/dotaUpdatesBot

Repository files navigation

This project has been deprecated in favor of a node-based version that you can find at https://github.com/GameFeeder/GameFeeder

License: GPL v3 Codacy Badge

dotaUpdatesBot

Telegram Bot for Dota2 Updates

Running publicly as @announcebot, licensed under the GNU General Public License.

Index

About dotaUpdatesBot

This bot serves a simple purpose, provide an easy interface for Telegram users to get their dose of Dota2!

Dota is an old game and the way it keeps the players interested is through constant updates. However they are irregular and the userbase is basically craving for them. The big changes have an official changelog at the official blog. Some smaller patches get notes in steam news but the rest never see the light of day.

However, the game's Reddit page is quite active and every new patch, changelog or update is posted there. Thanks to some users (specifically u/SirBelvedere and u/magesunite at the time of writing this) who take the time to read through the diffs over at SteamDB, the community gets a nice changelog in a Reddit post.

Some users, including the owner of this repo, felt like they needed a notification system without the hassle of an extra app (like IFTTT) so a bot was the most obvious solution for Telegram users.

What is Telegram

Telegram is a messaging application, similar to WhatsApp or Signal. The main differences are:

  • texts are not end-to-end encypted by default (which allows for a single account to use multiple clients seamlessly)
  • the encryption algorithm is not open source
  • it has a ton more features than any other messaging app
  • it supports bots!

What are Telegram Bots

Telegram bots basically work like any other messenger bot (e.g. Discord bots, Messenger bots, etc) but are a bit simpler to implement thanks to the Telegram Bot API. A Python wrapper for the API used in this project (pyTelegramBotAPI) can be found here.

What is Dota2

Dota2 originated as custom map for Warcraft III made by Eul and after much controversy it now is the most successful 100% free-to-play game by Valve and Icefrog.

Setting up dotaUpdatesBot

  1. Download or clone this repository using git clone https://github.com/zachkont/dotaUpdatesBot.git

  2. Make sure python2.7 and pip version 9+ are installed

  3. Setup your Telegram API key and optionally your Dota2 API key

  4. Copy the settings.py.example into settings.py and fill in your API keys. You can leave the crisis account variable empty or delete it alltogether.

  5. Install the requirements using pip via pip install -r requirements.txt

  6. Run main.py for the command functionality with python main.py or updater.py for the dota update subscription functionality with python updater.py

Commands

Command Brief explanation
/help Displays the basic help menu
/dotanews Returns the latest Steam News entry related to Dota2
/dotablog Returns the latest blog post from blog.dota2.com
/subscribe Adds the user or group to the subscription list
/unsubscribe Removes the user or group from the subscription list
/match <match_id> Returns some info about match with match_id

How To Contribute

Read CONTRIBUTING.MD

Disclaimer

This program is provided under the GNU GPLv3 License. As such it is shipped "as is" and the authors are not liable and provide no warranty. Read more.