This project has been deprecated in favor of a node-based version that you can find at https://github.com/GameFeeder/GameFeeder
Telegram Bot for Dota2 Updates
Running publicly as @announcebot, licensed under the GNU General Public License.
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.
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!
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.
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.
-
Download or clone this repository using
git clone https://github.com/zachkont/dotaUpdatesBot.git
-
Make sure
python2.7
andpip
version 9+ are installed -
Setup your Telegram API key and optionally your Dota2 API key
-
Copy the
settings.py.example
intosettings.py
and fill in your API keys. You can leave thecrisis account
variable empty or delete it alltogether. -
Install the requirements using pip via
pip install -r requirements.txt
-
Run main.py for the command functionality with
python main.py
or updater.py for the dota update subscription functionality withpython updater.py
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 |
Read CONTRIBUTING.MD
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.