/
channel.pyi
165 lines (159 loc) · 6.02 KB
/
channel.pyi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
from datetime import datetime
from enum import IntEnum
from typing import Any, Callable, List, Optional, Union
from ... import ActionRow, Button, SelectMenu
from .attrs_utils import ClientSerializerMixin, define
from .guild import Invite, InviteTargetType
from .message import Embed, Message, MessageInteraction
from .misc import File, Overwrite, Snowflake
from .user import User
from .webhook import Webhook
class ChannelType(IntEnum):
GUILD_TEXT: int
DM: int
GUILD_VOICE: int
GROUP_DM: int
GUILD_CATEGORY: int
GUILD_NEWS: int
GUILD_STORE: int
GUILD_NEWS_THREAD: int
GUILD_PUBLIC_THREAD: int
GUILD_PRIVATE_THREAD: int
GUILD_STAGE_VOICE: int
@define()
class ThreadMetadata(ClientSerializerMixin):
archived: bool
auto_archive_duration: int
archive_timestamp: datetime.timestamp
locked: bool
invitable: Optional[bool]
@define()
class ThreadMember(ClientSerializerMixin):
id: Optional[Snowflake]
user_id: Optional[Snowflake]
join_timestamp: datetime.timestamp
flags: int
muted: bool
mute_config: Optional[Any]
@define()
class Channel(ClientSerializerMixin):
type: ChannelType
id: Snowflake
guild_id: Optional[Snowflake]
position: Optional[int]
permission_overwrites: Optional[List[Overwrite]]
name: str
topic: Optional[str]
nsfw: Optional[bool]
last_message_id: Optional[Snowflake]
bitrate: Optional[int]
user_limit: Optional[int]
rate_limit_per_user: Optional[int]
recipients: Optional[List[User]]
icon: Optional[str]
owner_id: Optional[Snowflake]
application_id: Optional[Snowflake]
parent_id: Optional[Snowflake]
last_pin_timestamp: Optional[datetime]
rtc_region: Optional[str]
video_quality_mode: Optional[int]
message_count: Optional[int]
member_count: Optional[int]
thread_metadata: Optional[ThreadMetadata]
member: Optional[ThreadMember]
default_auto_archive_duration: Optional[int]
permissions: Optional[str]
flags: Optional[int]
@property
def mention(self) -> str: ...
async def send(
self,
content: Optional[str] = ...,
*,
tts: Optional[bool] = ...,
files: Optional[Union[File, List[File]]] = ...,
embeds: Optional[Union[Embed, List[Embed]]] = ...,
allowed_mentions: Optional[MessageInteraction] = ...,
components: Optional[
Union[
"ActionRow",
"Button",
"SelectMenu",
List["ActionRow"],
List["Button"],
List["SelectMenu"],
]
] = ...
) -> Message: ...
async def delete(self) -> None: ...
async def modify(
self,
name: Optional[str] = ...,
topic: Optional[str] = ...,
bitrate: Optional[int] = ...,
user_limit: Optional[int] = ...,
rate_limit_per_user: Optional[int] = ...,
position: Optional[int] = ...,
permission_overwrites: Optional[List[Overwrite]] = ...,
parent_id: Optional[int] = ...,
nsfw: Optional[bool] = ...,
archived: Optional[bool] = ...,
auto_archive_duration: Optional[int] = ...,
locked: Optional[bool] = ...,
reason: Optional[str] = ...,
) -> Channel: ...
async def set_name(self, name: str, *, reason: Optional[str] = ...) -> Channel: ...
async def set_topic(self, topic: str, *, reason: Optional[str] = ...) -> Channel: ...
async def set_bitrate(self, bitrate: int, *, reason: Optional[str] = ...) -> Channel: ...
async def set_user_limit(self, user_limit: int, *, reason: Optional[str] = ...) -> Channel: ...
async def set_rate_limit_per_user(
self, rate_limit_per_user: int, *, reason: Optional[str] = ...
) -> Channel: ...
async def set_position(self, position: int, *, reason: Optional[str] = ...) -> Channel: ...
async def set_parent_id(self, parent_id: int, *, reason: Optional[str] = ...) -> Channel: ...
async def set_nsfw(self, nsfw: bool, *, reason: Optional[str] = ...) -> Channel: ...
async def archive(self, archived: bool = ..., *, reason: Optional[str] = ...) -> Channel: ...
async def set_auto_archive_duration(
self, auto_archive_duration: int, *, reason: Optional[str] = ...
) -> Channel: ...
async def lock(self, locked: bool = ..., *, reason: Optional[str] = ...) -> Channel: ...
async def add_member(self, member_id: Union[int, Snowflake, "Member"]) -> None: ... # noqa
async def pin_message(self, message_id: Union[int, Snowflake, "Message"]) -> None: ... # noqa
async def unpin_message(self, message_id: Union[int, Snowflake, "Message"]) -> None: ... # noqa
async def publish_message(self, message_id: Union[int, Snowflake, "Message"]) -> Message: ... # noqa
async def get_pinned_messages(self) -> List[Message]: ...
async def get_message(self, message_id: Union[int, Snowflake]) -> Message: ...
async def purge(
self,
amount: int,
check: Callable[[...], bool] = ...,
before: Optional[int] = ...,
reason: Optional[str] = ...,
bulk: Optional[bool] = ...,
) -> List[Message]: ...
async def create_thread(
self,
name: str,
type: Optional[ChannelType] = ...,
auto_archive_duration: Optional[int] = ...,
invitable: Optional[bool] = ...,
message_id: Optional[Union[int, Snowflake, "Message"]] = ..., # noqa
reason: Optional[str] = ...,
) -> Channel: ...
@property
def url(self) -> str: ...
async def create_invite(
self,
max_age: Optional[int] = ...,
max_uses: Optional[int] = ...,
temporary: Optional[bool] = ...,
unique: Optional[bool] = ...,
target_type: Optional[InviteTargetType] = ...,
target_user_id: Optional[int] = ...,
target_application_id: Optional[int] = ...,
reason: Optional[str] = ...,
) -> Invite: ...
async def get_history(self, limit: int = ...) -> List[Message]: ...
async def get_webhooks(self) -> List[Webhook]: ...
@define()
class Thread(Channel): ...