Li-en / scrimbot

Discord bot for scrims
GNU General Public License v3.0
0 stars 1 forks source link

Convert the abstractions from dicts and lists to classes #1

Open blaberry opened 1 month ago

blaberry commented 1 month ago

I think the scrim/team/match/etc stuff should be class based, so you can say, more easily schedule a bunch of matches in one go.

I don't care too much about this particular model, feel free to move it around as you wish.


class Team:
    def __init__(self, name):
        self.name = name
        self.members = []
        self.leaders = {}  # Dictionary of user IDs and their roles
        self.subs = []
        self.confirmed_users = set()
        self.round_wins= 0

class Scrim:
    def __init__(self):
        self.active = False
        self.time = None
        self.announcement_channel = None
        self.team_a = Team("Team A")
        self.team_b = Team("Team B")
        self.current_round = 0
        self.reminder_time = timedelta(minutes=15)  # Default reminder time

class Bot(commands.Bot):
    def __init__(self):
        super().__init__(command_prefix='!', intents=discord.Intents.default())
        self.intents.members = True
        self.intents.message_content = True
        self.current_scrim = Scrim()
blaberry commented 1 month ago

There should probably be a member class as well.