Source code for pylav.storage.database.tables.players
from __future__ import annotations
from piccolo.columns import JSONB, UUID, Array, BigInt, Boolean, Integer
from piccolo.table import Table
from pylav.constants.config import DEFAULT_PLAYER_VOLUME
from pylav.storage.database.tables.misc import DATABASE_ENGINE
[docs]
class PlayerRow(Table, db=DATABASE_ENGINE, tablename="player"):
primary_key = UUID(primary_key=True)
id = BigInt(index=True)
bot = BigInt(index=True, null=False)
volume = Integer(null=False, default=DEFAULT_PLAYER_VOLUME)
max_volume = Integer(null=False, default=1000)
auto_play_playlist_id = BigInt(null=False, default=1)
text_channel_id = BigInt(null=True, default=0)
notify_channel_id = BigInt(null=True, default=0)
forced_channel_id = BigInt(null=True, default=0)
repeat_current = Boolean(null=False, default=False)
repeat_queue = Boolean(null=False, default=False)
shuffle = Boolean(null=False, default=True)
auto_shuffle = Boolean(null=False, default=True)
auto_play = Boolean(null=False, default=True)
self_deaf = Boolean(null=False, default=True)
empty_queue_dc = JSONB(
null=False,
default={
"enabled": False,
"time": 60,
},
)
alone_dc = JSONB(
null=False,
default={
"enabled": False,
"time": 60,
},
)
alone_pause = JSONB(
null=False,
default={
"enabled": False,
"time": 60,
},
)
extras = JSONB(null=False, default={})
effects = JSONB(null=False, default={})
dj_users = Array(null=False, default=[], base_column=BigInt())
dj_roles = Array(null=False, default=[], base_column=BigInt())