mirror of
https://github.com/nihilvux/bancho.py.git
synced 2025-09-16 18:48:38 -07:00
Add files via upload
This commit is contained in:
61
app/constants/privileges.py
Normal file
61
app/constants/privileges.py
Normal file
@@ -0,0 +1,61 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from enum import IntEnum
|
||||
from enum import IntFlag
|
||||
from enum import unique
|
||||
|
||||
from app.utils import escape_enum
|
||||
from app.utils import pymysql_encode
|
||||
|
||||
|
||||
@unique
|
||||
@pymysql_encode(escape_enum)
|
||||
class Privileges(IntFlag):
|
||||
"""Server side user privileges."""
|
||||
|
||||
# privileges intended for all normal players.
|
||||
UNRESTRICTED = 1 << 0 # is an unbanned player.
|
||||
VERIFIED = 1 << 1 # has logged in to the server in-game.
|
||||
|
||||
# has bypass to low-ceiling anticheat measures (trusted).
|
||||
WHITELISTED = 1 << 2
|
||||
|
||||
# donation tiers, receives some extra benefits.
|
||||
SUPPORTER = 1 << 4
|
||||
PREMIUM = 1 << 5
|
||||
|
||||
# notable users, receives some extra benefits.
|
||||
ALUMNI = 1 << 7
|
||||
|
||||
# staff permissions, able to manage server app.state.
|
||||
TOURNEY_MANAGER = 1 << 10 # able to manage match state without host.
|
||||
NOMINATOR = 1 << 11 # able to manage maps ranked status.
|
||||
MODERATOR = 1 << 12 # able to manage users (level 1).
|
||||
ADMINISTRATOR = 1 << 13 # able to manage users (level 2).
|
||||
DEVELOPER = 1 << 14 # able to manage full server app.state.
|
||||
|
||||
DONATOR = SUPPORTER | PREMIUM
|
||||
STAFF = MODERATOR | ADMINISTRATOR | DEVELOPER
|
||||
|
||||
|
||||
@unique
|
||||
@pymysql_encode(escape_enum)
|
||||
class ClientPrivileges(IntFlag):
|
||||
"""Client side user privileges."""
|
||||
|
||||
PLAYER = 1 << 0
|
||||
MODERATOR = 1 << 1
|
||||
SUPPORTER = 1 << 2
|
||||
OWNER = 1 << 3
|
||||
DEVELOPER = 1 << 4
|
||||
TOURNAMENT = 1 << 5 # NOTE: not used in communications with osu! client
|
||||
|
||||
|
||||
@unique
|
||||
@pymysql_encode(escape_enum)
|
||||
class ClanPrivileges(IntEnum):
|
||||
"""A class to represent a clan members privs."""
|
||||
|
||||
Member = 1
|
||||
Officer = 2
|
||||
Owner = 3
|
Reference in New Issue
Block a user