|
@ -44,6 +44,7 @@ from .sticker import GuildSticker |
|
|
from .threads import Thread |
|
|
from .threads import Thread |
|
|
from .integrations import PartialIntegration |
|
|
from .integrations import PartialIntegration |
|
|
from .channel import ForumChannel, StageChannel, ForumTag |
|
|
from .channel import ForumChannel, StageChannel, ForumTag |
|
|
|
|
|
from .onboarding import OnboardingPrompt, OnboardingPromptOption |
|
|
|
|
|
|
|
|
__all__ = ( |
|
|
__all__ = ( |
|
|
'AuditLogDiff', |
|
|
'AuditLogDiff', |
|
@ -72,6 +73,7 @@ if TYPE_CHECKING: |
|
|
from .types.snowflake import Snowflake |
|
|
from .types.snowflake import Snowflake |
|
|
from .types.command import ApplicationCommandPermissions |
|
|
from .types.command import ApplicationCommandPermissions |
|
|
from .types.automod import AutoModerationTriggerMetadata, AutoModerationAction |
|
|
from .types.automod import AutoModerationTriggerMetadata, AutoModerationAction |
|
|
|
|
|
from .types.onboarding import Prompt as PromptPayload, PromptOption as PromptOptionPayload |
|
|
from .user import User |
|
|
from .user import User |
|
|
from .app_commands import AppCommand |
|
|
from .app_commands import AppCommand |
|
|
|
|
|
|
|
@ -263,6 +265,16 @@ def _transform_automod_actions(entry: AuditLogEntry, data: List[AutoModerationAc |
|
|
return [AutoModRuleAction.from_data(action) for action in data] |
|
|
return [AutoModRuleAction.from_data(action) for action in data] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _transform_onboarding_prompts(entry: AuditLogEntry, data: List[PromptPayload]) -> List[OnboardingPrompt]: |
|
|
|
|
|
return [OnboardingPrompt(data=prompt, state=entry._state, guild=entry.guild) for prompt in data] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _transform_onboarding_prompt_options( |
|
|
|
|
|
entry: AuditLogEntry, data: List[PromptOptionPayload] |
|
|
|
|
|
) -> List[OnboardingPromptOption]: |
|
|
|
|
|
return [OnboardingPromptOption(data=option, state=entry._state, guild=entry.guild) for option in data] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
E = TypeVar('E', bound=enums.Enum) |
|
|
E = TypeVar('E', bound=enums.Enum) |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -285,13 +297,15 @@ def _flag_transformer(cls: Type[F]) -> Callable[[AuditLogEntry, Union[int, str]] |
|
|
|
|
|
|
|
|
def _transform_type( |
|
|
def _transform_type( |
|
|
entry: AuditLogEntry, data: Union[int, str] |
|
|
entry: AuditLogEntry, data: Union[int, str] |
|
|
) -> Union[enums.ChannelType, enums.StickerType, enums.WebhookType, str]: |
|
|
) -> Union[enums.ChannelType, enums.StickerType, enums.WebhookType, str, enums.OnboardingPromptType]: |
|
|
if entry.action.name.startswith('sticker_'): |
|
|
if entry.action.name.startswith('sticker_'): |
|
|
return enums.try_enum(enums.StickerType, data) |
|
|
return enums.try_enum(enums.StickerType, data) |
|
|
elif entry.action.name.startswith('integration_'): |
|
|
elif entry.action.name.startswith('integration_'): |
|
|
return data # type: ignore # integration type is str |
|
|
return data # type: ignore # integration type is str |
|
|
elif entry.action.name.startswith('webhook_'): |
|
|
elif entry.action.name.startswith('webhook_'): |
|
|
return enums.try_enum(enums.WebhookType, data) |
|
|
return enums.try_enum(enums.WebhookType, data) |
|
|
|
|
|
elif entry.action.name.startswith('onboarding_question_'): |
|
|
|
|
|
return enums.try_enum(enums.OnboardingPromptType, data) |
|
|
else: |
|
|
else: |
|
|
return enums.try_enum(enums.ChannelType, data) |
|
|
return enums.try_enum(enums.ChannelType, data) |
|
|
|
|
|
|
|
@ -370,6 +384,9 @@ class AuditLogChanges: |
|
|
'available_tags': (None, _transform_forum_tags), |
|
|
'available_tags': (None, _transform_forum_tags), |
|
|
'flags': (None, _transform_overloaded_flags), |
|
|
'flags': (None, _transform_overloaded_flags), |
|
|
'default_reaction_emoji': (None, _transform_default_reaction), |
|
|
'default_reaction_emoji': (None, _transform_default_reaction), |
|
|
|
|
|
'options': (None, _transform_onboarding_prompt_options), |
|
|
|
|
|
'prompts': (None, _transform_onboarding_prompts), |
|
|
|
|
|
'default_channel_ids': ('default_channels', _transform_channels_or_threads), |
|
|
} |
|
|
} |
|
|
# fmt: on |
|
|
# fmt: on |
|
|
|
|
|
|
|
|