50 lines
1.4 KiB
Python
50 lines
1.4 KiB
Python
"""File for Guild class."""
|
|
|
|
import json
|
|
|
|
from data.table import Table # pylint: disable=import-error
|
|
|
|
|
|
class Guild:
|
|
"""Stores a guild's information."""
|
|
|
|
def __init__(self, guild_id: int) -> None:
|
|
self._guild_id: int = guild_id
|
|
self._highscore_channel_id: int = 0
|
|
self._submission_channel_id: int = 0
|
|
self._table_map: dict = {}
|
|
self._username_length: int = 12
|
|
self._verification_channel_id: int = 0
|
|
|
|
# TODO create setters then classmethod from dict. Also need todict and string. Then test creation from json and then editting objects.
|
|
|
|
@property
|
|
def guild_id(self) -> int:
|
|
"""Getter for Guild id."""
|
|
return self._guild_id
|
|
|
|
@property
|
|
def highscore_channel(self) -> int:
|
|
"""Getter for highscore channel id."""
|
|
return self._highscore_channel_id
|
|
|
|
@property
|
|
def submission_channel(self) -> int:
|
|
"""Getter for submission channel id."""
|
|
return self._submission_channel_id
|
|
|
|
@property
|
|
def tables(self) -> "list[dict]":
|
|
"""Getter for list of tables in Guild."""
|
|
return self._table_map.values()
|
|
|
|
@property
|
|
def username_length(self) -> int:
|
|
"""Getter for username length."""
|
|
return self._username_length
|
|
|
|
@property
|
|
def verification_channel(self) -> int:
|
|
"""Getter for verification channel id."""
|
|
return self._verification_channel_id
|