committed by
GitHub
8 changed files with 388 additions and 54 deletions
@ -0,0 +1,106 @@ |
|||||
|
""" |
||||
|
The MIT License (MIT) |
||||
|
|
||||
|
Copyright (c) 2015-present Rapptz |
||||
|
|
||||
|
Permission is hereby granted, free of charge, to any person obtaining a |
||||
|
copy of this software and associated documentation files (the "Software"), |
||||
|
to deal in the Software without restriction, including without limitation |
||||
|
the rights to use, copy, modify, merge, publish, distribute, sublicense, |
||||
|
and/or sell copies of the Software, and to permit persons to whom the |
||||
|
Software is furnished to do so, subject to the following conditions: |
||||
|
|
||||
|
The above copyright notice and this permission notice shall be included in |
||||
|
all copies or substantial portions of the Software. |
||||
|
|
||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
||||
|
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
||||
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
||||
|
DEALINGS IN THE SOFTWARE. |
||||
|
""" |
||||
|
|
||||
|
from __future__ import annotations |
||||
|
|
||||
|
from typing import Any, List, Literal, Optional, TypedDict |
||||
|
from .webhook import Webhook |
||||
|
from .integration import PartialIntegration |
||||
|
from .user import User |
||||
|
from .snowflake import Snowflake |
||||
|
|
||||
|
AuditLogEvent = Literal[ |
||||
|
1, |
||||
|
10, |
||||
|
11, |
||||
|
12, |
||||
|
13, |
||||
|
14, |
||||
|
15, |
||||
|
20, |
||||
|
21, |
||||
|
22, |
||||
|
23, |
||||
|
24, |
||||
|
25, |
||||
|
26, |
||||
|
27, |
||||
|
28, |
||||
|
30, |
||||
|
31, |
||||
|
32, |
||||
|
40, |
||||
|
41, |
||||
|
42, |
||||
|
50, |
||||
|
51, |
||||
|
52, |
||||
|
60, |
||||
|
61, |
||||
|
62, |
||||
|
72, |
||||
|
73, |
||||
|
74, |
||||
|
75, |
||||
|
80, |
||||
|
81, |
||||
|
82, |
||||
|
] |
||||
|
|
||||
|
|
||||
|
class AuditLogChange(TypedDict): |
||||
|
key: str |
||||
|
new_value: Any |
||||
|
old_value: Any |
||||
|
|
||||
|
|
||||
|
class AuditEntryInfo(TypedDict): |
||||
|
delete_member_days: str |
||||
|
members_removed: str |
||||
|
channel_id: Snowflake |
||||
|
message_id: Snowflake |
||||
|
count: str |
||||
|
id: Snowflake |
||||
|
type: Literal['0', '1'] |
||||
|
role_name: str |
||||
|
|
||||
|
|
||||
|
class _AuditLogEntryOptional(TypedDict, total=False): |
||||
|
changes: List[AuditLogChange] |
||||
|
options: AuditEntryInfo |
||||
|
reason: str |
||||
|
|
||||
|
|
||||
|
class AuditLogEntry(_AuditLogEntryOptional): |
||||
|
target_id: Optional[str] |
||||
|
user_id: Snowflake |
||||
|
id: Snowflake |
||||
|
action_type: AuditLogEvent |
||||
|
|
||||
|
|
||||
|
class AuditLog(TypedDict): |
||||
|
webhooks: List[Webhook] |
||||
|
users: List[User] |
||||
|
audit_log_entries: List[AuditLogEntry] |
||||
|
integrations: List[PartialIntegration] |
@ -0,0 +1,76 @@ |
|||||
|
""" |
||||
|
The MIT License (MIT) |
||||
|
|
||||
|
Copyright (c) 2015-present Rapptz |
||||
|
|
||||
|
Permission is hereby granted, free of charge, to any person obtaining a |
||||
|
copy of this software and associated documentation files (the "Software"), |
||||
|
to deal in the Software without restriction, including without limitation |
||||
|
the rights to use, copy, modify, merge, publish, distribute, sublicense, |
||||
|
and/or sell copies of the Software, and to permit persons to whom the |
||||
|
Software is furnished to do so, subject to the following conditions: |
||||
|
|
||||
|
The above copyright notice and this permission notice shall be included in |
||||
|
all copies or substantial portions of the Software. |
||||
|
|
||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
||||
|
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
||||
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
||||
|
DEALINGS IN THE SOFTWARE. |
||||
|
""" |
||||
|
|
||||
|
from __future__ import annotations |
||||
|
|
||||
|
from typing import Literal, Optional, TypedDict |
||||
|
from .snowflake import Snowflake |
||||
|
from .user import User |
||||
|
|
||||
|
|
||||
|
class _IntegrationApplicationOptional(TypedDict, total=False): |
||||
|
bot: User |
||||
|
|
||||
|
|
||||
|
class IntegrationApplication(_IntegrationApplicationOptional): |
||||
|
id: Snowflake |
||||
|
name: str |
||||
|
icon: Optional[str] |
||||
|
description: str |
||||
|
summary: str |
||||
|
|
||||
|
|
||||
|
class IntegrationAccount(TypedDict): |
||||
|
id: str |
||||
|
name: str |
||||
|
|
||||
|
|
||||
|
IntegrationExpireBehavior = Literal[0, 1] |
||||
|
|
||||
|
|
||||
|
class PartialIntegration(TypedDict): |
||||
|
id: Snowflake |
||||
|
name: str |
||||
|
type: IntegrationType |
||||
|
account: IntegrationAccount |
||||
|
|
||||
|
|
||||
|
class _IntegrationOptional(TypedDict, total=False): |
||||
|
role_id: Snowflake |
||||
|
enable_emoticons: bool |
||||
|
subscriber_count: int |
||||
|
revoked: bool |
||||
|
application: IntegrationApplication |
||||
|
|
||||
|
|
||||
|
IntegrationType = Literal['twitch', 'youtube', 'discord'] |
||||
|
|
||||
|
|
||||
|
class Integration(PartialIntegration, _IntegrationOptional): |
||||
|
enabled: bool |
||||
|
syncing: bool |
||||
|
synced_at: str |
||||
|
user: User |
||||
|
expire_behavior: IntegrationExpireBehavior |
||||
|
expire_grace_period: int |
@ -0,0 +1,70 @@ |
|||||
|
""" |
||||
|
The MIT License (MIT) |
||||
|
|
||||
|
Copyright (c) 2015-present Rapptz |
||||
|
|
||||
|
Permission is hereby granted, free of charge, to any person obtaining a |
||||
|
copy of this software and associated documentation files (the "Software"), |
||||
|
to deal in the Software without restriction, including without limitation |
||||
|
the rights to use, copy, modify, merge, publish, distribute, sublicense, |
||||
|
and/or sell copies of the Software, and to permit persons to whom the |
||||
|
Software is furnished to do so, subject to the following conditions: |
||||
|
|
||||
|
The above copyright notice and this permission notice shall be included in |
||||
|
all copies or substantial portions of the Software. |
||||
|
|
||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
||||
|
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
||||
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
||||
|
DEALINGS IN THE SOFTWARE. |
||||
|
""" |
||||
|
|
||||
|
from __future__ import annotations |
||||
|
from typing import Literal, Optional, TypedDict |
||||
|
from .snowflake import Snowflake |
||||
|
from .user import User |
||||
|
from .channel import PartialChannel |
||||
|
|
||||
|
|
||||
|
class SourceGuild(TypedDict): |
||||
|
id: int |
||||
|
name: str |
||||
|
icon: str |
||||
|
|
||||
|
|
||||
|
class _WebhookOptional(TypedDict, total=False): |
||||
|
guild_id: Snowflake |
||||
|
user: User |
||||
|
token: str |
||||
|
|
||||
|
|
||||
|
WebhookType = Literal[1, 2] |
||||
|
|
||||
|
|
||||
|
class _FollowerWebhookOptional(TypedDict, total=False): |
||||
|
source_channel: PartialChannel |
||||
|
source_guild: SourceGuild |
||||
|
|
||||
|
|
||||
|
class FollowerWebhook(_FollowerWebhookOptional): |
||||
|
channel_id: Snowflake |
||||
|
webhook_id: Snowflake |
||||
|
|
||||
|
|
||||
|
class PartialWebhook(_WebhookOptional): |
||||
|
id: Snowflake |
||||
|
type: WebhookType |
||||
|
|
||||
|
|
||||
|
class _FullWebhook(TypedDict, total=False): |
||||
|
name: Optional[str] |
||||
|
avatar: Optional[str] |
||||
|
channel_id: Snowflake |
||||
|
application_id: Optional[Snowflake] |
||||
|
|
||||
|
|
||||
|
class Webhook(PartialWebhook, _FullWebhook): |
||||
|
... |
Loading…
Reference in new issue