Skip to content
This repository has been archived by the owner on Jun 26, 2024. It is now read-only.

Commit

Permalink
refactor: V1 Refactor (#18)
Browse files Browse the repository at this point in the history
* feat: setup class modules

* feat: create base map class

* feat: create base game class

* feat: create base match class

* feat: string representation of map based on state

* feat: update names for classes

* create: smash stage class

* docs: docstring for game constructor

* feat: setup smash game and player classes

* feat: override equals method for player

* feat: add bot context for veto to match

* feat: create stagelist object

* feat: move map pool to child classes

* feat: veto method for stagelist

* refactor: move stagelist methods to game class

* refactor: updated smash stages for new model

* fix: spacing of game title

* refactor: move stage veto back to stagelist

* docs: settings page documentation

* fix: removed bot stuff from match

Match.py should only be backend api, no need to put discord stuff in it.

* docs(smash): add docstrings and comments to all

* refactor(bot): cleared old files

* refactor(coinflip): remove coinflip animation

Removed due to avoid clogging up the discord rate limit

* feat(smash): generates blank games on match creation

* refactor(smash): remove match base class

* fix(smash): seed selection through match

* refactor(smash): moved embed generator to match class

* refactor: removed base classes

* feat: rewrote all smash vetos

* feat: use specific channel for match creation

do this instead of restricting channels, its a lot easier

* feat: coinflip supports two player pings

* feat(val): valorant map class

* feat(val): game and map pool object

* feat(val): match object started

* fix(smash): players not swapping on p2 win

* feat(val): bo3 veto

* feat(val): bo5 veto

* refactor: split veto command into multiple

* refactor: removed old un-needed files

* docs: update README.md

* docs: fix README.md links
  • Loading branch information
Brandon Ly authored Apr 12, 2021
1 parent 8414cd9 commit 09eff19
Show file tree
Hide file tree
Showing 20 changed files with 1,408 additions and 1,074 deletions.
152 changes: 147 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,149 @@
# Vaughan Esports Veto Bot
<!-- PROJECT LOGO -->
<br />
<p align="center">
<a href="https://github.com/Vaughan-Esports/VE-Tourney-Bot">
<img src="https://image.brandonly.me/ve white.png" alt="Logo" width="80" height="80">
</a>

Currently designed for smash stage veto according to Vaughan Esports' SSBU
rulebook.
<h3 align="center">Vaughan Esports Tournament Bot</h3>

REFACTOR In progress, docs for getting started and hosting it yourself will be
updated once the refactor is complete. Check the refactor branch for updates.
<p align="center">
Home of Vaughan Esports' very own Discord Bot used to run our events!
<br />
<br />
<a href="https://vaughanesports.org/discord">View Demo</a>
·
<a href="https://github.com/Vaughan-Esports/VE-Tourney-Bot/issues">Report Bug</a>
·
<a href="https://github.com/Vaughan-Esports/VE-Tourney-Bot/issues">Request Feature</a>
</p>
</p>



<!-- TABLE OF CONTENTS -->
<details open="open">
<summary>Table of Contents</summary>
<ol>
<li>
<a href="#about-the-project">About The Project</a>
<ul>
<li><a href="#built-with">Built With</a></li>
</ul>
</li>
<li>
<a href="#getting-started">Getting Started</a>
<ul>
<li><a href="#prerequisites">Prerequisites</a></li>
<li><a href="#installation">Installation</a></li>
</ul>
</li>
<li><a href="#usage">Usage</a></li>
<li><a href="#roadmap">Roadmap</a></li>
<li><a href="#license">License</a></li>
<li><a href="#contact">Contact</a></li>
</ol>
</details>



<!-- ABOUT THE PROJECT -->

## About The Project

Tournament rules and rulesets are long can get pretty annoying to read and keep
up with, especially with our regular monthly events. Having a dedicated bot to
handle the processes for veto'ing and selecting maps helps keeps players
engaged and following the rules!

The bot walks all players through the veto process and has a multitude of
commands to help players and teams setup their matches.

### Built With

* [Discord.py](https://github.com/Rapptz/discord.py)
* [Rich](https://github.com/willmcgugan/rich)

<!-- GETTING STARTED -->

## Getting Started

Follow the steps below if you'd like to host your own instance our the bot.

### Prerequisites

- Python 3.8 or higher (May work on 3.6 and 3.7 but untested)
- Discord Developer Account

### Installation

1. Get your Discord bot API Key (
Instructions [here](https://discordpy.readthedocs.io/en/latest/discord.html))
2. Clone the repo
```sh
git clone https://github.com/Vaughan-Esports/VE-Tourney-Bot.git
```
3. Install Python packages
```sh
pip install -r requirements.txt
```
4. Create a file called `.env` amd put your API key in like so:
```dotenv
BOT_TOKEN=YOUR_TOKEN
```

### Configuration

Everything is configurable from `settings.py`


<!-- USAGE EXAMPLES -->

## Usage

Its main commands are

- `ve!coinflip @opponent`
- Flips a coin
- `ve!match @opponent`
- Starts a private chat between you and your opponent
- `ve!smash {best-of} @opponent`
- Starts a smash veto with your opponent (Best of can be 3 or 5)
- `ve!val {best-of} @opponent`
- Starts a VALORANT veto with your opponent (Best of can be 1, 3, or 5)
- `ve!close`
- Closes a private chat between you and your opponent
- `ve!purge`
- Purges all closed channels

Commands can also be run with pings to both players so that TO's may manually
set up commands for players (e.g `ve!match @player1 @player2`)



<!-- ROADMAP -->

## Roadmap

- osu! Veto
- League of Legends ARAM Roll
- Logging
- MongoDB Support (V2)
- Dynamic Veto (Easy config of veto from a single file) (V3)

<!-- LICENSE -->

## License

Distributed under the MIT License. See `LICENSE` for more information.



<!-- CONTACT -->

## Contact

Your Name - [@brndnly](https://twitter.com/brndnly) - email@example.com

Project
Link: [https://github.com/Vaughan-Esports/VE-Tourney-Bot](https://github.com/Vaughan-Esports/VE-Tourney-Bot)
Loading

0 comments on commit 09eff19

Please sign in to comment.