From cbb83f0c20defd42c730d22f8a86f54877f37a65 Mon Sep 17 00:00:00 2001 From: Soheab_ <33902984+Soheab@users.noreply.github.com> Date: Wed, 9 Jul 2025 18:57:28 +0200 Subject: [PATCH] Apply suggestions from reviews https: //github.com/Rapptz/discord.py/pull/9260#pullrequestreview-2085585270 Co-Authored-By: DA344 <108473820+DA-344@users.noreply.github.com> --- discord/onboarding.py | 19 +++++++++++-------- discord/types/onboarding.py | 12 ++++++------ 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/discord/onboarding.py b/discord/onboarding.py index 5b5c59e0b..245671c89 100644 --- a/discord/onboarding.py +++ b/discord/onboarding.py @@ -89,7 +89,7 @@ class PartialOnboardingPromptOption: def __init__( self, title: str, - emoji: Union[Emoji, PartialEmoji, str], + emoji: Union[Emoji, PartialEmoji, str] = MISSING, description: Optional[str] = None, channel_ids: Iterable[int] = MISSING, role_ids: Iterable[int] = MISSING, @@ -101,14 +101,17 @@ class PartialOnboardingPromptOption: self.role_ids: Set[int] = set(role_ids or []) def to_dict(self, *, id: int = MISSING) -> PromptOptionPayload: - if isinstance(self.emoji, str): - emoji_payload = {"emoji_name": self.emoji} + if self.emoji is not MISSING: + if isinstance(self.emoji, str): + emoji_payload = {"emoji_name": self.emoji} + else: + emoji_payload = { + "emoji_id": self.emoji.id, + "emoji_name": self.emoji.name, + "emoji_animated": self.emoji.animated, + } else: - emoji_payload = { - "emoji_id": self.emoji.id, - "emoji_name": self.emoji.name, - "emoji_animated": self.emoji.animated, - } + emoji_payload = {} return { 'id': id or os.urandom(16).hex(), diff --git a/discord/types/onboarding.py b/discord/types/onboarding.py index 64fa199c4..4945fb18e 100644 --- a/discord/types/onboarding.py +++ b/discord/types/onboarding.py @@ -24,7 +24,7 @@ DEALINGS IN THE SOFTWARE. from __future__ import annotations -from typing import Literal, Optional, TypedDict +from typing import Literal, Optional, TypedDict, List from .emoji import PartialEmoji from .snowflake import Snowflake @@ -36,8 +36,8 @@ OnboardingMode = Literal[0, 1] class PromptOption(TypedDict): id: Snowflake - channel_ids: list[Snowflake] - role_ids: list[Snowflake] + channel_ids: List[Snowflake] + role_ids: List[Snowflake] emoji: PartialEmoji title: str description: Optional[str] @@ -45,7 +45,7 @@ class PromptOption(TypedDict): class Prompt(TypedDict): id: Snowflake - options: list[PromptOption] + options: List[PromptOption] title: str single_select: bool required: bool @@ -55,7 +55,7 @@ class Prompt(TypedDict): class Onboarding(TypedDict): guild_id: Snowflake - prompts: list[Prompt] - default_channel_ids: list[Snowflake] + prompts: List[Prompt] + default_channel_ids: List[Snowflake] enabled: bool mode: OnboardingMode