committed by
GitHub
5 changed files with 234 additions and 2 deletions
@ -0,0 +1,41 @@ |
|||||
|
""" |
||||
|
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 typing import Optional, TypedDict |
||||
|
from .snowflake import Snowflake, SnowflakeList |
||||
|
from .user import User |
||||
|
|
||||
|
|
||||
|
class PartialEmoji(TypedDict): |
||||
|
id: Optional[Snowflake] |
||||
|
name: Optional[str] |
||||
|
|
||||
|
|
||||
|
class Emoji(PartialEmoji, total=False): |
||||
|
roles: SnowflakeList |
||||
|
user: User |
||||
|
required_colons: bool |
||||
|
managed: bool |
||||
|
animated: bool |
||||
|
available: bool |
@ -0,0 +1,42 @@ |
|||||
|
""" |
||||
|
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 typing import TypedDict |
||||
|
from .snowflake import SnowflakeList |
||||
|
from .user import User |
||||
|
|
||||
|
|
||||
|
class PartialMember(TypedDict): |
||||
|
roles: SnowflakeList |
||||
|
joined_at: str |
||||
|
deaf: str |
||||
|
mute: str |
||||
|
|
||||
|
|
||||
|
class Member(PartialMember, total=False): |
||||
|
user: User |
||||
|
nick: str |
||||
|
premium_since: str |
||||
|
pending: bool |
||||
|
permissions: str |
@ -0,0 +1,134 @@ |
|||||
|
""" |
||||
|
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 List, Literal, Optional, TypedDict, Union |
||||
|
from .snowflake import Snowflake, SnowflakeList |
||||
|
from .member import Member |
||||
|
from .user import User |
||||
|
from .emoji import PartialEmoji |
||||
|
from .embed import Embed |
||||
|
from .channel import ChannelType |
||||
|
|
||||
|
|
||||
|
class ChannelMention(TypedDict): |
||||
|
id: Snowflake |
||||
|
guild_id: Snowflake |
||||
|
type: ChannelType |
||||
|
name: str |
||||
|
|
||||
|
|
||||
|
class Reaction(TypedDict): |
||||
|
count: int |
||||
|
me: bool |
||||
|
emoji: PartialEmoji |
||||
|
|
||||
|
|
||||
|
class Attachment(TypedDict): |
||||
|
id: Snowflake |
||||
|
filename: str |
||||
|
size: int |
||||
|
url: str |
||||
|
proxy_url: str |
||||
|
height: Optional[int] |
||||
|
width: Optional[int] |
||||
|
|
||||
|
|
||||
|
MessageActivityType = Literal[1, 2, 3, 5] |
||||
|
|
||||
|
|
||||
|
class MessageActivity(TypedDict): |
||||
|
type: MessageActivityType |
||||
|
party_id: str |
||||
|
|
||||
|
|
||||
|
class _MessageApplicationOptional(TypedDict, total=False): |
||||
|
cover_image: str |
||||
|
|
||||
|
|
||||
|
class MessageApplication(_MessageApplicationOptional): |
||||
|
id: Snowflake |
||||
|
description: str |
||||
|
icon: Optional[str] |
||||
|
name: str |
||||
|
|
||||
|
|
||||
|
class MessageReference(TypedDict, total=False): |
||||
|
message_id: Snowflake |
||||
|
channel_id: Snowflake |
||||
|
guild_id: Snowflake |
||||
|
fail_if_not_exists: bool |
||||
|
|
||||
|
|
||||
|
class _StickerOptional(TypedDict, total=False): |
||||
|
tags: str |
||||
|
|
||||
|
|
||||
|
StickerFormatType = Literal[1, 2, 3] |
||||
|
|
||||
|
|
||||
|
class Sticker(_StickerOptional): |
||||
|
id: Snowflake |
||||
|
pack_id: Snowflake |
||||
|
name: str |
||||
|
description: str |
||||
|
asset: str |
||||
|
preview_asset: str |
||||
|
format_type: StickerFormatType |
||||
|
|
||||
|
|
||||
|
class _MessageOptional(TypedDict, total=False): |
||||
|
guild_id: Snowflake |
||||
|
member: Member |
||||
|
mention_channels: List[ChannelMention] |
||||
|
reactions: List[Reaction] |
||||
|
nonce: Union[int, str] |
||||
|
webhook_id: int |
||||
|
activity: MessageActivity |
||||
|
application: MessageApplication |
||||
|
message_reference: MessageReference |
||||
|
flags: int |
||||
|
stickers: List[Sticker] |
||||
|
referenced_message: Optional[Message] |
||||
|
|
||||
|
|
||||
|
MessageType = Literal[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 19, 20] |
||||
|
|
||||
|
|
||||
|
class Message(_MessageOptional): |
||||
|
id: Snowflake |
||||
|
channel_id: Snowflake |
||||
|
author: User |
||||
|
content: str |
||||
|
timestamp: str |
||||
|
edited_timestamp: Optional[str] |
||||
|
tts: bool |
||||
|
mention_everyone: bool |
||||
|
mentions: List[User] |
||||
|
mention_roles: SnowflakeList |
||||
|
attachments: List[Attachment] |
||||
|
embeds: List[Embed] |
||||
|
pinned: bool |
||||
|
type: MessageType |
Loading…
Reference in new issue