disco.types.message
Constants
MessageType = Enum(
DEFAULT = 0,
RECIPIENT_ADD = 1,
RECIPIENT_REMOVE = 2,
CALL = 3,
CHANNEL_NAME_CHANGE = 4,
CHANNEL_ICON_CHANGE = 5,
PINS_ADD = 6,
GUILD_MEMBER_JOIN = 7)
Classes
Emoji
Inherits From SlottedModel
Represents either a standard or custom Discord emoji.
Attributes
| Name | Type | Description |
|---|---|---|
| id | snowflake? |
The emoji ID (will be none if this is not a custom emoji). |
| name | str |
The name of this emoji. |
| animated | bool |
Whether this emoji is animated. |
Functions
custom(self)
eq(self, other)
to_string(self)
MessageReactionEmoji
Inherits From Emoji
Represents a emoji which was used as a reaction on a message.
MessageReaction
Inherits From SlottedModel
A reaction of one emoji (multiple users) to a message.
Attributes
| Name | Type | Description |
|---|---|---|
| emoji | `MessageReactionEmoji` |
The emoji which was reacted. |
| count | int |
The number of users who reacted with this emoji. |
| me | bool |
Whether the current user reacted with this emoji. |
MessageEmbedFooter
Inherits From SlottedModel
A footer for the MessageEmbed.
Attributes
| Name | Type | Description |
|---|---|---|
| text | str |
The contents of the footer. |
| icon_url | str |
The URL for the footer icon. |
| proxy_icon_url | str |
A proxy URL for the footer icon, set by Discord. |
MessageEmbedImage
Inherits From SlottedModel
An image for the MessageEmbed.
Attributes
| Name | Type | Description |
|---|---|---|
| url | str |
The URL for the image. |
| proxy_url | str |
A proxy URL for the image, set by Discord. |
| width | int |
The width of the image, set by Discord. |
| height | int |
The height of the image, set by Discord. |
MessageEmbedThumbnail
Inherits From SlottedModel
A thumbnail for the MessageEmbed.
Attributes
| Name | Type | Description |
|---|---|---|
| url | str |
The thumbnail URL. |
| proxy_url | str |
A proxy URL for the thumbnail, set by Discord. |
| width | int |
The width of the thumbnail, set by Discord. |
| height | int |
The height of the thumbnail, set by Discord. |
MessageEmbedVideo
Inherits From SlottedModel
A video for the MessageEmbed.
Attributes
| Name | Type | Description |
|---|---|---|
| url | str |
The URL for the video. |
| width | int |
The width of the video, set by Discord. |
| height | int |
The height of the video, set by Discord. |
MessageEmbedAuthor
Inherits From SlottedModel
An author for the MessageEmbed.
Attributes
| Name | Type | Description |
|---|---|---|
| name | str |
The name of the author. |
| url | str |
A URL for the author. |
| icon_url | str |
A URL to an icon for the author. |
| proxy_icon_url | str |
A proxy URL for the authors icon, set by Discord. |
MessageEmbedField
Inherits From SlottedModel
A field for the MessageEmbed.
Attributes
| Name | Type | Description |
|---|---|---|
| name | str |
The name of the field. |
| value | str |
The value of the field. |
| inline | bool |
Whether the field renders inline or by itself. |
MessageEmbed
Inherits From SlottedModel
Message embed object.
Attributes
| Name | Type | Description |
|---|---|---|
| title | str |
Title of the embed. |
| type | str |
Type of the embed. |
| description | str |
Description of the embed. |
| url | str |
URL of the embed. |
| timestamp | datetime |
The timestamp for the embed. |
| color | int |
The color of the embed. |
| footer | `MessageEmbedFooter` |
The footer of the embed. |
| thumbnail | `MessageEmbedThumbnail` |
The thumbnail of the embed. |
| video | `MessageEmbedVideo` |
The video of the embed. |
| author | `MessageEmbedAuthor` |
The author of the embed. |
| fields | list[`MessageEmbedField]` |
The fields of the embed. |
Functions
set_footer(self,*args,**kwargs)
Sets the footer of the embed, see MessageEmbedFooter.
set_image(self,*args,**kwargs)
Sets the image of the embed, see MessageEmbedImage.
set_thumbnail(self,*args,**kwargs)
Sets the thumbnail of the embed, see MessageEmbedThumbnail.
set_video(self,*args,**kwargs)
Sets the video of the embed, see MessageEmbedVideo.
set_author(self,*args,**kwargs)
Sets the author of the embed, see MessageEmbedAuthor.
add_field(self,*args,**kwargs)
Adds a new field to the embed, see MessageEmbedField.
MessageAttachment
Inherits From SlottedModel
Message attachment object.
Attributes
| Name | Type | Description |
|---|---|---|
| id | snowflake |
The id of this attachment. |
| filename | str |
The filename of this attachment. |
| url | str |
The URL of this attachment. |
| proxy_url | str |
The URL to proxy through when downloading the attachment. |
| size | int |
Size of the attachment. |
| height | int |
Height of the attachment. |
| width | int |
Width of the attachment. |
Message
Inherits From SlottedModel
Represents a Message created within a Channel on Discord.
Attributes
| Name | Type | Description |
|---|---|---|
| id | snowflake |
The ID of this message. |
| channel_id | snowflake |
The channel ID this message was sent in. |
| type | `MessageType` |
Type of the message. |
| author | :class:`disco.types.user.User` |
The author of this message. |
| content | str |
The unicode contents of this message. |
| nonce | str |
The nonce of this message. |
| timestamp | datetime |
When this message was created. |
| edited_timestamp | datetime? |
When this message was last edited. |
| tts | bool |
Whether this is a TTS (text-to-speech) message. |
| mention_everyone | bool |
Whether this message has an @everyone which mentions everyone. |
| pinned | bool |
Whether this message is pinned in the channel. |
| mentions | dict[snowflake, `User`] |
Users mentioned within this message. |
| mention_roles | list[snowflake] |
IDs for roles mentioned within this message. |
| embeds | list[`MessageEmbed`] |
Embeds for this message. |
| attachments | list[`MessageAttachment`] |
Attachments for this message. |
| reactions | list[`MessageReaction`] |
Reactions for this message. |
Functions
str(self)
guild(self)
Returns
The guild (if applicable) this message was created in.
member(self)
Returns
The guild member (if applicable) that sent this message.
channel(self)
Returns
The channel this message was created in.
pin(self)
Pins the message to the channel it was created in.
unpin(self)
Unpins the message from the channel it was created in.
reply(self,*args,**kwargs)
Reply to this message (see Channel.send_message).
Returns
The created message object.
edit(self,*args,**kwargs)
Edit this message.
Returns
The edited message object.
Args
| Name | Type | Description |
|---|---|---|
| content | str |
The new edited contents of the message. |
delete(self)
Delete this message.
Returns
The deleted message object.
get_reactors(self, emoji,*args,**kwargs)
Returns an iterator which paginates the reactors for the given emoji.
Returns
An iterator which handles pagination of reactors.
create_reaction(self, emoji)
add_reaction(self, emoji)
Adds a reaction to the message.
Parameters
| Name | Type | Description |
|---|---|---|
| emoji | `Emoji`|str |
An emoji or string representing an emoji |
delete_reaction(self, emoji, user)
Deletes a reaction from the message.
is_mentioned(self, entity)
Returns
Whether the give entity was mentioned.
without_mentions(self, valid_only)
Returns
the message contents with all mentions removed.
with_proper_mentions(self)
Returns
The message with mentions replaced w/ their proper form.
replace_mentions(self, user_replace, role_replace=None, channel_replace=None, nonexistant=False)
Replaces user and role mentions with the result of a given lambda/function.
Returns
The message contents with all valid mentions replaced.
Args
| Name | Type | Description |
|---|---|---|
| user_replace | function |
A function taking a single argument, the user object mentioned, and returning a valid string. |
| role_replace | function |
A function taking a single argument, the role ID mentioned, and returning a valid string. |