Skip to content

๐Ÿ‘‹ Hello, this is CreepsReport! And I can bring you the results of the latest professional Dota2 matches as quick as possible!

License

Notifications You must be signed in to change notification settings

balda38/creeps-report

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

7 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ‘‹ Hello, this is CreepsReport!

And I can bring you the results of the latest professional Dota2 matches as quick as possible!

1. I'm obviously a Telegram bot

And I live here: @creeps_report_bot

I think you should learn some simple commands to work with me!

๐Ÿ“ List of possible and your current subscriptions to teams: /team_subscriptions

Typing this in the chat will show you the list of currently active professional teams (who have played at least 1 match in the last six months):

โŒ Gaimin Gladiators - to subscribe: /team_subscribe Gaimin Gladiators
โœ… Team Spirit - to unsubscribe: /team_unsubscribe Team Spirit

As you can guess, we currently have a subscription to Team Spirit and we don't have a subscription to Gaimin Gladiators. We can change this. You can click on a suggested command which will copy it to the buffer and then paste it. Let's discuss it further.

โค๏ธ Subscribe to the team's match results: /team_subscribe {team_name}

Typing, for example, /team_subscribe Gaimin Gladiators will subscribe you to that team's updates. Simple.

๐Ÿ’” Unsubscribe from the team's match results: /team_unsubscribe {team_name}

Typing, for example, /team_unsubscribe Team Spirit will unsubscribe you from that team's updates. Simple too.

Ok. What do the team's match result mean? I'd rather show you

Once some match of one of the teams you are subscribed to ends, the bot will send your a message like that:

What we can see here:

  • firstly, the name of the tournament
  • then, the winner of the match
  • type of series (can be Bo1, Bo2, Bo3, Bo5, you know that!)
  • the score in the series indicated by these circles: โ—‹, โšช; the filled one means 1 win in the series
  • match score
  • match duration
  • Radiant vs Dire teams with each player's score

That's it for now. Stay tuned for updates!

2. Development

Just docker and docker-compose. Nothing else.

Air will do all the rebuilding work for you!

The data is fetched from OpenDOTA API

Environment variables

  • AIR_PORT - if you need a non-standard port to use Air
  • TELEGRAM_BOT_TOKEN - the token you got from @BotFather
  • TELEGRAM_BOT_ADMIN - telegram tag of the bot admin without @
  • FETCH_RECENT_MATCHES_TIMEOUT - the value in seconds of how often the latest matches will be parsed (this value will affect the delay with which we receive results)

CLI commands

  • go run ./cmd/runmigrations/main.go - run migrations
  • go run ./cmd/fetchteams/main.go - parse teams
  • go run ./cmd/activateteams/main.go - make some teams active manually. Supports multiple teams divided by space. Spaces in the team name should be replaced by "_". For example: go run ./cmd/activateteams/main.go LGD_Gaming
  • go run ./cmd/deactivateteams/main.go - make some teams inactive manually. Supports multiple teams divided by space. Spaces in the team name should be replaced by "_". For example: go run ./cmd/activateteams/main.go LGD_Gaming

About

๐Ÿ‘‹ Hello, this is CreepsReport! And I can bring you the results of the latest professional Dota2 matches as quick as possible!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published