Implement WelcomeScreen

This commit is contained in:
Nadir Chowdhury
2022-05-22 02:26:06 +01:00
committed by GitHub
parent 2bb7ed2092
commit e2d0193531
5 changed files with 320 additions and 0 deletions

View File

@@ -87,6 +87,7 @@ if TYPE_CHECKING:
threads,
scheduled_event,
sticker,
welcome_screen,
)
from .types.snowflake import Snowflake, SnowflakeList
@@ -1211,6 +1212,22 @@ class HTTPClient:
return self.request(Route('GET', '/guilds/{guild_id}/bans', guild_id=guild_id), params=params)
def get_welcome_screen(self, guild_id: Snowflake) -> Response[welcome_screen.WelcomeScreen]:
return self.request(Route('GET', '/guilds/{guild_id}/welcome-screen', guild_id=guild_id))
def edit_welcome_screen(
self, guild_id: Snowflake, *, reason: Optional[str] = None, **fields: Any
) -> Response[welcome_screen.WelcomeScreen]:
valid_keys = (
'description',
'welcome_channels',
'enabled',
)
payload = {k: v for k, v in fields.items() if k in valid_keys}
return self.request(
Route('PATCH', '/guilds/{guild_id}/welcome-screen', guild_id=guild_id), json=payload, reason=reason
)
def get_ban(self, user_id: Snowflake, guild_id: Snowflake) -> Response[guild.Ban]:
return self.request(Route('GET', '/guilds/{guild_id}/bans/{user_id}', guild_id=guild_id, user_id=user_id))