Source code for asyncpixel.models.guild

"""Guild objects."""
import datetime
import uuid
from typing import Dict
from typing import List
from typing import Optional

from asyncpixel.models.utils import to_camel
from pydantic import BaseModel
from pydantic.fields import Field


[docs]class Pattern(BaseModel): """Pattern. Args: color (int): colour. pattern (str): pattern. """ color: int pattern: str
[docs]class GuildMembers(BaseModel): """Members in a guild. Args: uuid (uuid.UUID): UUID of player. rank (str): Rank of player. joined (datetime.datetime): Time player joined guild. exp_history (Dict[str, int]): Exp history of player. quest_participation (int): How many quests the player has participated in. muted_till (Optional[datetime.datetime]): Time player unmuted. Defaults to None. """ uuid: uuid.UUID rank: str joined: datetime.datetime exp_history: Optional[Dict[str, int]] quest_participation: Optional[int] = None muted_till: Optional[datetime.datetime] = None class Config: """Config.""" alias_generator = to_camel
[docs]class Rank(BaseModel): """Rank. Args: name (str): Name of rank. default (bool): wether its the default. created (int): Created. priority (int): Priority of role. tag (str): Tag of role. """ name: str default: bool created: int priority: int tag: Optional[str] = None
[docs]class Guild(BaseModel): """Guild object. Args: id (str): Guild ID. created (datetime.datetime): Timestamp this guild was created at. name (str): Name of guild. name_lower (str: Priority of role. description (str): Description of this guild that appears in the guild list and /g info. tag (str): Tag of guild. exp (int): Exp or guild. members (List[GuildMembers]): Array of guild members. achievements (Dict[str, int]): Guild achievements earned and the current progress. ranks (List[Rank]): Array of guild ranks. joinable (bool): Whether this guild can be joined using /g join. legacy_ranking (int): Ranking in the number of guild coins owned in the legacy guild system (0-indexed). publicly_listed (bool): Whether this guild is listed in the Guild Finder. preferred_games (List[str]): This guild's set preferred games. chat_mute (datetime.datetime): Timestamp guild chat will be unmuted at, or 0 if guild chat is not muted. guild_exp_by_game_type (Dict[str, str]): Amount of EXP earned for this guild by which game it was earned in. tag_color (Optional[str]): Color of this guild's tag, if set. Defaults to None. """ id: str = Field(alias="_id") created: datetime.datetime name: str name_lower: str = Field(alias="name_lower") description: Optional[str] tag: Optional[str] exp: int members: List[GuildMembers] achievements: Dict[str, int] ranks: Optional[List[Rank]] joinable: bool = False legacy_ranking: Optional[int] = None publicly_listed: Optional[bool] preferred_games: Optional[List[str]] chat_mute: Optional[datetime.datetime] = None guild_exp_by_game_type: Optional[Dict[str, int]] tag_color: Optional[str] class Config: """Config.""" alias_generator = to_camel