disco.types.channel
Constants
NSFW_RE = compile(^nsfw(-|$))
ChannelType = Enum(
GUILD_TEXT = 0,
DM = 1,
GUILD_VOICE = 2,
GROUP_DM = 3,
GUILD_CATEGORY = 4)
PermissionOverwriteType = Enum(
ROLE = role,
MEMBER = member)
Classes
ChannelSubType
Inherits From SlottedModel
Functions
channel(self
)
PermissionOverwrite
Inherits From ChannelSubType
A PermissionOverwrite for a :class:Channel
.
Attributes
Name | Type | Description |
---|---|---|
id | snowflake |
The overwrite ID |
type | :const:`disco.types.channel.PermissionsOverwriteType` |
The overwrite type |
allowed | :class:`PermissionValue` |
All allowed permissions |
denied | :class:`PermissionValue` |
All denied permissions |
Functions
create_for_channel(cls, channel, entity, allow, deny=0)
compiled(self
)
save(self,**kwargs
)
delete(self,**kwargs
)
Channel
Inherits From SlottedModel
, Permissible
Represents a Discord Channel.
Attributes
Name | Type | Description |
---|---|---|
id | snowflake |
The channel ID. |
guild_id | Optional[snowflake] |
The guild id this channel is part of. |
name | str |
The channel's name. |
topic | str |
The channel's topic. |
position | int |
The channel's position. |
bitrate | int |
The channel's bitrate. recipients: list(:class:`disco.types.user.User`) Members of this channel (if this is a DM channel). |
type | :const:`ChannelType` |
The type of this channel. |
overwrites | dict(snowflake, :class:`disco.types.channel.PermissionOverwrite`) |
Channel permissions overwrites. |
Functions
init(self,*args,**kwargs
)
after_load(self
)
str(self
)
repr(self
)
get_permissions(self, user)
Get the permissions a user has in the channel.
Returns
Computed permission value for the user.
mention(self
)
is_guild(self
)
Whether this channel belongs to a guild.
is_dm(self
)
Whether this channel is a DM (does not belong to a guild).
is_nsfw(self
)
Whether this channel is an NSFW channel.
is_voice(self
)
Whether this channel supports voice.
messages(self
)
A default MessageIterator
for the channel, can be used to quickly and
easily iterate over the channels entire message history. For more control,
use Channel.messages_iter
.
guild(self
)
Guild this channel belongs to (or None if not applicable).
parent(self
)
Parent this channel belongs to (or None if not applicable).
messages_iter(self,**kwargs
)
Creates a new MessageIterator
for the channel with the given keyword
get_message(self, message)
Attempts to fetch and return a Message
from the message object
or id.
Returns
The fetched message
get_invites(self
)
Returns
Returns a list of all invites for this channel.
create_invite(self,*args,**kwargs
)
Attempts to create a new invite with the given arguments. For more
information see Invite.create_for_channel
.
Returns
get_pins(self
)
Returns
Returns a list of all pinned messages for this channel.
create_pin(self, message)
Pins the given message to the channel.
Params
Name | Type | Description |
---|---|---|
message | `Message`|snowflake |
The message or message ID to pin. |
delete_pin(self, message)
Unpins the given message from the channel.
Params
Name | Type | Description |
---|---|---|
message | `Message`|snowflake |
The message or message ID to pin. |
get_webhooks(self
)
Returns
Returns a list of all webhooks for this channel.
create_webhook(self,*args,**kwargs
)
Creates a webhook for this channel. See APIClient.channels_webhooks_create
for more information.
Returns
The created webhook.
send_message(self,*args,**kwargs
)
Send a message to this channel. See APIClient.channels_messages_create
for more information.
Returns
The created message.
connect(self,*args,**kwargs
)
Connect to this channel over voice.
create_overwrite(self,*args,**kwargs
)
Creates a PermissionOverwrite
for this channel. See
PermissionOverwrite.create_for_channel
for more information.
delete_message(self, message)
Deletes a single message from this channel.
Args
Name | Type | Description |
---|---|---|
message | snowflake|`Message` |
The message to delete. |
delete_messages(self, messages)
Deletes a set of messages using the correct API route based on the number of messages passed.
Args
Name | Type | Description |
---|---|---|
messages | list(snowflake|`Message`) |
List of messages (or message ids) to delete. All messages must originate from this channel. |
delete(self,**kwargs
)
close(self
)
Closes a DM channel. This is intended as a safer version of delete
,
enforcing that the channel is actually a DM.
set_topic(self, topic, reason)
Sets the channels topic.
set_name(self, name, reason)
Sets the channels name.
set_position(self, position, reason)
Sets the channels position.
set_nsfw(self, value, reason)
Sets whether the channel is NSFW.
set_bitrate(self, bitrate, reason)
Sets the channels bitrate.
set_user_limit(self, user_limit, reason)
Sets the channels user limit.
set_parent(self, parent, reason)
Sets the channels parent.
create_text_channel(self,*args,**kwargs
)
Creates a sub-text-channel in this category. See Guild.create_text_channel
for arguments and more information.
create_voice_channel(self,*args,**kwargs
)
Creates a sub-voice-channel in this category. See Guild.create_voice_channel
for arguments and more information.
MessageIterator
An iterator which supports scanning through the messages for a channel.
Parameters
Name | Type | Description |
---|---|---|
client | :class:`disco.client.Client` |
The disco client instance to use when making requests. |
channel | `Channel` |
The channel to iterate within. |
direction | :attr:`MessageIterator.Direction` |
The direction in which this iterator will move. |
bulk | bool |
If true, this iterator will yield messages in list batches, otherwise each message will be yield individually. |
before | snowflake |
The message to begin scanning at. |
after | snowflake |
The message to begin scanning at. |
chunk_size | int |
The number of messages to request per API call. |
Functions
init(self, client, channel, direction, bulk=False, before=None, after=None, chunk_size=100)
fill(self
)
Fills the internal buffer up with :class:disco.types.message.Message
objects from the API.
Returns a boolean indicating whether items were added to the buffer.