Skip to content
This repository has been archived by the owner on May 5, 2024. It is now read-only.

Commit

Permalink
Guild object updates
Browse files Browse the repository at this point in the history
  • Loading branch information
pixeldeee committed Aug 4, 2023
1 parent 01452fd commit 4b83ab6
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 11 deletions.
61 changes: 56 additions & 5 deletions pytecord/guild.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,57 @@ def __init__(self, data: dict[str, Any], token: str) -> None:
self.description: str | None = data.get('description')
self.channels: list[WelcomeScreenChannel] = get_list_of_types(WelcomeScreenChannel, data.get('welcome_channels'), token)


class VerificationLevel:
def __init__(self, integer: int) -> None:
self.none: bool = integer == 0
self.low: bool = integer == 1
self.medium: bool = integer == 2
self.high: bool = integer == 3
self.very_high: bool = integer == 4

self.__integer = integer

def __int__(self) -> int:
return self.__integer


class DefaultMessageNotificationLevel:
def __init__(self, integer: int) -> None:
self.all_messages = integer == 0
self.only_mentions = integer == 1

self.__integer = integer

def __int__(self) -> int:
return self.__integer


class ExplicitContentFilterLevel:
def __init__(self, integer: int) -> None:
self.disables = integer == 0
self.members_without_roles = integer == 1
self.all_members = integer == 2

self.__integer = integer

def __int__(self) -> int:
return self.__integer


class NSFWLevel:
def __init__(self, integer: int) -> None:
self.default = integer == 0
self.explicit = integer == 1
self.safe = integer == 2
self.age_restricted = integer == 3

self.__integer = integer

def __int__(self) -> int:
return self.__integer


class Guild(Object):
def __init__(self, data: dict[str, Any], token: str):
self.id: int = get_snowflake(data.get('id'))
Expand All @@ -42,13 +93,13 @@ def __init__(self, data: dict[str, Any], token: str):
self.afk_timeout: int = data.get('afk_timeout')
self.widget_enabled: bool | None = data.get('widget_enabled')
self.widget_channel_id: int | None = get_snowflake(x := data.get('widget_channel_id'))
self.verification_level: int = data.get('verification_level')
self.default_message_notifications: int = data.get('default_message_notifications')
self.explicit_content_filter: int = data.get('explicit_content_filter')
self.verification_level: VerificationLevel = VerificationLevel(data.get('verification_level'))
self.default_message_notifications: DefaultMessageNotificationLevel = DefaultMessageNotificationLevel(data.get('default_message_notifications'))
self.explicit_content_filter: ExplicitContentFilterLevel = ExplicitContentFilterLevel(data.get('explicit_content_filter'))
self.roles: list[Role] = get_list_of_types(Role, data.get('roles', []))
self.emojis: list[Emoji] = get_list_of_types(Emoji, data.get('emojis', []))
self.features: list[str] = data.get('features')
self.mfa_level: int = data.get('mfa_level')
self.mfa_enabled: bool = data.get('mfa_level') == 1
self.application_id: int | None = get_snowflake('application_id')
self.system_channel_id: int | None = get_snowflake('system_channel_id')
self.system_channel_flags: int = data.get('system_channel_flags')
Expand All @@ -67,7 +118,7 @@ def __init__(self, data: dict[str, Any], token: str):
self.approximate_member_count: int | None = data.get('approximate_member_count')
self.approximate_presence_count: int | None = data.get('approximate_presence_count')
self.welcome_screen: WelcomeScreen | None = WelcomeScreen(x, token) if (x := data.get('welcome_screen')) else None
self.nsfw_level: int = data.get('nsfw_level')
self.nsfw_level: NSFWLevel = NSFWLevel(data.get('nsfw_level'))
self.stickers: list[Sticker] = get_list_of_types(Sticker, data.get('stickers'), token)
self.premium_progress_bar_enabled: bool = data.get('premium_progress_bar_enabled')
self.safety_alerts_channel_id: int | None = get_snowflake('safety_alerts_channel_id')
Expand Down
12 changes: 6 additions & 6 deletions pytecord/role.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@

class RoleTags:
def __init__(self, data: dict[str, Any]) -> None:
self.bot_id = get_snowflake('bot_id')
self.integration_id = get_snowflake('integration_id')
self.premium_subscriber = data.get('premium_subscriber')
self.subscription_listing_id = get_snowflake('subscription_listing_id')
self.available_for_purchase = data.get('available_for_purchase')
self.guild_connections = data.get('guild_connections')
self.bot_id: int | None = get_snowflake('bot_id')
self.integration_id: int | None = get_snowflake('integration_id')
self.premium_subscriber: bool = 'premium_subscriber' in list(data.keys())
self.subscription_listing_id: int | None = get_snowflake('subscription_listing_id')
self.available_for_purchase: bool = 'available_for_purchase' in list(data.keys())
self.guild_connections: bool = 'guild_connections' in list(data.keys())


class Role:
Expand Down

0 comments on commit 4b83ab6

Please sign in to comment.