Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cameronclay/zhex-bot

Elo bot for a SC2 arcade game, allows server members to join a queue to play against each other and generates a balanced team matchup based on player skill levels. Written in Python using Discord.py and PostgreSQL.
https://github.com/cameronclay/zhex-bot

discord-py heroku postgresql python

Last synced: 4 days ago
JSON representation

Elo bot for a SC2 arcade game, allows server members to join a queue to play against each other and generates a balanced team matchup based on player skill levels. Written in Python using Discord.py and PostgreSQL.

Awesome Lists containing this project

README

        

# zhex-bot
Discord bot for the arcade game within SC2. It ranks players based on Elo and stores rankings in a database. Players can queue for a game, set team preference, view players' stats and more. The bot is built on Discord.py and uses PostgreSQL as the database.

## Getting started
```
Captain:
pick Pick member to be on your team
rl Captain report loss
rt Captain report tie
rw Captain report win
sub Sub player due to AFK (player to sub in must be a potential sub via !sub )

General:
add Add to queue on region (NA/EU/ALL = default); Timeout=60 mins
addsub Allow yourself to be a potential sub on region (captains must already be picking)
del Remove yourself from queue on region (NA/EU/ALL = default)
elsub* Remove yourself as potential sub on region
qracepref Query current race preference for region
racepref Set race preference for region (Z - Zerg, T - Terran, A - All)
reg Register with the server to play private games (registration is required to run all other commands)
stats Retreive stats of player
status Query status of queue and any running games

Type !help command for more info on commands.
```
## Deployment
Bot was setup to be deployed on heroku. Commit the repository to heroku and turn the bot on.

### Unit Testing
- Some unit testing done with pytest.

### Tooling
- Python
- pytest