Objects¶
Announcement Channel¶
announcement
¶
GuildAnnouncementChannelPart
dataclass
¶
Bases: GuildChannelCreate
flowchart TD
scurrypy.api.channels.announcement.GuildAnnouncementChannelPart[GuildAnnouncementChannelPart]
scurrypy.bases.channel.GuildChannelCreate[GuildChannelCreate]
scurrypy.core.model.DataModel[DataModel]
scurrypy.bases.channel.GuildChannelCreate --> scurrypy.api.channels.announcement.GuildAnnouncementChannelPart
scurrypy.core.model.DataModel --> scurrypy.bases.channel.GuildChannelCreate
click scurrypy.api.channels.announcement.GuildAnnouncementChannelPart href "" "scurrypy.api.channels.announcement.GuildAnnouncementChannelPart"
click scurrypy.bases.channel.GuildChannelCreate href "" "scurrypy.bases.channel.GuildChannelCreate"
click scurrypy.core.model.DataModel href "" "scurrypy.core.model.DataModel"
Parameters for creating a guild announcement channel.
name: str | None = None
class-attribute
instance-attribute
¶
Name of the channel.
topic: str | None = None
class-attribute
instance-attribute
¶
Topic of the channel.
position: int | None = None
class-attribute
instance-attribute
¶
Sorting position of the channel (channels with the same position are sorted by id).
parent_id: Snowflake | None = None
class-attribute
instance-attribute
¶
Category ID of the channel.
nsfw: bool | None = None
class-attribute
instance-attribute
¶
If the channel is flagged NSFW.
default_auto_archive_duration: int | None = None
class-attribute
instance-attribute
¶
Default duration in minutes threads will be hidden after period of inactivity.
default_thread_rate_limit_per_user: int | None = None
class-attribute
instance-attribute
¶
Rate limit per user set on newly created threads.
Note
This field does not live update!
type: ChannelType = field(init=False, default=(ChannelType.GUILD_ANNOUNCEMENT))
class-attribute
instance-attribute
¶
Type of channel. Always ChannelType.GUILD_ANNOUNCEMENT for this class.
Channel¶
channel
¶
ChannelModel
dataclass
¶
Bases: DataModel
flowchart TD
scurrypy.api.channels.channel.ChannelModel[ChannelModel]
scurrypy.core.model.DataModel[DataModel]
scurrypy.core.model.DataModel --> scurrypy.api.channels.channel.ChannelModel
click scurrypy.api.channels.channel.ChannelModel href "" "scurrypy.api.channels.channel.ChannelModel"
click scurrypy.core.model.DataModel href "" "scurrypy.core.model.DataModel"
Represents common channel fields.
id: Snowflake
instance-attribute
¶
ID of the channel.
flags: ChannelFlags
instance-attribute
¶
Channel flags combined as a bitfield.
guild_id: Snowflake | None
instance-attribute
¶
Guild ID of the channel.
parent_id: Snowflake | None
instance-attribute
¶
Category ID of the channel.
position: int | None
instance-attribute
¶
Position of the channel.
name: str | None
instance-attribute
¶
Name of the channel.
topic: str | None
instance-attribute
¶
Topic of the channel.
nsfw: bool | None
instance-attribute
¶
If the channel is flagged NSFW.
last_message_id: Snowflake | None
instance-attribute
¶
ID of the last message sent in the channel.
rate_limit_per_user: int | None
instance-attribute
¶
Seconds user must wait between sending messages in the channel.
last_pin_timestamp: str | None
instance-attribute
¶
ISO8601 timestamp of the last pinned messsage in the channel.
permissions: Permissions | None
instance-attribute
¶
Permissions for the invoking user in this channel.
Includes role and overwrite calculations. [INT_LIMIT]
Default Reaction¶
default_reaction
¶
DefaultReactionModel
dataclass
¶
Bases: DataModel
flowchart TD
scurrypy.api.channels.default_reaction.DefaultReactionModel[DefaultReactionModel]
scurrypy.core.model.DataModel[DataModel]
scurrypy.core.model.DataModel --> scurrypy.api.channels.default_reaction.DefaultReactionModel
click scurrypy.api.channels.default_reaction.DefaultReactionModel href "" "scurrypy.api.channels.default_reaction.DefaultReactionModel"
click scurrypy.core.model.DataModel href "" "scurrypy.core.model.DataModel"
Represents the default reaction for a GUILD_FORUM post.
DefaultReactionPart
dataclass
¶
Bases: DataModel
flowchart TD
scurrypy.api.channels.default_reaction.DefaultReactionPart[DefaultReactionPart]
scurrypy.core.model.DataModel[DataModel]
scurrypy.core.model.DataModel --> scurrypy.api.channels.default_reaction.DefaultReactionPart
click scurrypy.api.channels.default_reaction.DefaultReactionPart href "" "scurrypy.api.channels.default_reaction.DefaultReactionPart"
click scurrypy.core.model.DataModel href "" "scurrypy.core.model.DataModel"
Represents the default reaction for a GUILD_FORUM post.
DM Channel¶
dm
¶
DMChannelModel
dataclass
¶
Bases: ChannelModel
flowchart TD
scurrypy.api.channels.dm.DMChannelModel[DMChannelModel]
scurrypy.api.channels.channel.ChannelModel[ChannelModel]
scurrypy.core.model.DataModel[DataModel]
scurrypy.api.channels.channel.ChannelModel --> scurrypy.api.channels.dm.DMChannelModel
scurrypy.core.model.DataModel --> scurrypy.api.channels.channel.ChannelModel
click scurrypy.api.channels.dm.DMChannelModel href "" "scurrypy.api.channels.dm.DMChannelModel"
click scurrypy.api.channels.channel.ChannelModel href "" "scurrypy.api.channels.channel.ChannelModel"
click scurrypy.core.model.DataModel href "" "scurrypy.core.model.DataModel"
Represents a DM channel.
recipients: list[UserModel] | None
instance-attribute
¶
Recipients of the DM.
icon: str | None
instance-attribute
¶
Icon hash of the group DM.
owner_id: Snowflake | None
instance-attribute
¶
ID of the creator of the group DM.
application_id: Snowflake | None
instance-attribute
¶
ID of the application that created the DM.
Followed Channel¶
followed
¶
FollowedChannelModel
dataclass
¶
Bases: DataModel
flowchart TD
scurrypy.api.channels.followed.FollowedChannelModel[FollowedChannelModel]
scurrypy.core.model.DataModel[DataModel]
scurrypy.core.model.DataModel --> scurrypy.api.channels.followed.FollowedChannelModel
click scurrypy.api.channels.followed.FollowedChannelModel href "" "scurrypy.api.channels.followed.FollowedChannelModel"
click scurrypy.core.model.DataModel href "" "scurrypy.core.model.DataModel"
Represents the followed channel object.
Guild Forum Channel¶
forum
¶
GuildForumChannelModel
dataclass
¶
Bases: ChannelModel
flowchart TD
scurrypy.api.channels.forum.GuildForumChannelModel[GuildForumChannelModel]
scurrypy.api.channels.channel.ChannelModel[ChannelModel]
scurrypy.core.model.DataModel[DataModel]
scurrypy.api.channels.channel.ChannelModel --> scurrypy.api.channels.forum.GuildForumChannelModel
scurrypy.core.model.DataModel --> scurrypy.api.channels.channel.ChannelModel
click scurrypy.api.channels.forum.GuildForumChannelModel href "" "scurrypy.api.channels.forum.GuildForumChannelModel"
click scurrypy.api.channels.channel.ChannelModel href "" "scurrypy.api.channels.channel.ChannelModel"
click scurrypy.core.model.DataModel href "" "scurrypy.core.model.DataModel"
Represents the forum channel.
available_tags: list[TagModel] | None
instance-attribute
¶
Set of tags that can be applied to a GUILD_FORUM post.
applied_tags: list[Snowflake] | None
instance-attribute
¶
Set of tags applied to a GUILD_FORUM post.
default_reaction_emoji: DefaultReactionModel | None
instance-attribute
¶
Emoji to show in the add reaction button in a GUILD_FORUM post.
default_sort_order: SortOrderType | None
instance-attribute
¶
Default forum sort order.
default_forum_layout: ForumLayoutType | None
instance-attribute
¶
Default forum layout view. Discord defaults to ForumLayoutTypes.NOT_SET.
GuildForumChannelPart
dataclass
¶
Bases: GuildChannelCreate
flowchart TD
scurrypy.api.channels.forum.GuildForumChannelPart[GuildForumChannelPart]
scurrypy.bases.channel.GuildChannelCreate[GuildChannelCreate]
scurrypy.core.model.DataModel[DataModel]
scurrypy.bases.channel.GuildChannelCreate --> scurrypy.api.channels.forum.GuildForumChannelPart
scurrypy.core.model.DataModel --> scurrypy.bases.channel.GuildChannelCreate
click scurrypy.api.channels.forum.GuildForumChannelPart href "" "scurrypy.api.channels.forum.GuildForumChannelPart"
click scurrypy.bases.channel.GuildChannelCreate href "" "scurrypy.bases.channel.GuildChannelCreate"
click scurrypy.core.model.DataModel href "" "scurrypy.core.model.DataModel"
Parameters for creating a guild forum channel.
name: str | None = None
class-attribute
instance-attribute
¶
Name of the channel.
topic: str | None = None
class-attribute
instance-attribute
¶
Topic of the channel.
position: int | None = None
class-attribute
instance-attribute
¶
Sorting position of the channel (channels with the same position are sorted by id).
rate_limit_per_user: int | None = None
class-attribute
instance-attribute
¶
Seconds user must wait between sending messages in the channel.
parent_id: Snowflake | None = None
class-attribute
instance-attribute
¶
Category ID of the channel.
nsfw: bool | None = None
class-attribute
instance-attribute
¶
If the channel is flagged NSFW.
default_auto_archive_duration: int | None = None
class-attribute
instance-attribute
¶
Default duration in minutes threads will be hidden after period of inactivity.
default_reaction_emoji: DefaultReactionPart | None = None
class-attribute
instance-attribute
¶
Emoji to show in the add reaction button in a GUILD_FORUM post.
available_tags: list[TagPart] | None = None
class-attribute
instance-attribute
¶
Set of tags that can be applied to a GUILD_FORUM post.
default_sort_order: SortOrderType | None = None
class-attribute
instance-attribute
¶
Default forum sort order.
default_forum_layout: ForumLayoutType | None = None
class-attribute
instance-attribute
¶
Default forum layout view.
default_thread_rate_limit_per_user: int | None = None
class-attribute
instance-attribute
¶
Rate limit per user set on newly created threads.
Note
This field does not live update!
type: ChannelType = field(init=False, default=(ChannelType.GUILD_FORUM))
class-attribute
instance-attribute
¶
Type of channel. Always ChannelType.GUILD_FORUM for this class.
Guild Text Channel¶
guild_text
¶
GuildTextChannelPart
dataclass
¶
Bases: GuildChannelCreate
flowchart TD
scurrypy.api.channels.guild_text.GuildTextChannelPart[GuildTextChannelPart]
scurrypy.bases.channel.GuildChannelCreate[GuildChannelCreate]
scurrypy.core.model.DataModel[DataModel]
scurrypy.bases.channel.GuildChannelCreate --> scurrypy.api.channels.guild_text.GuildTextChannelPart
scurrypy.core.model.DataModel --> scurrypy.bases.channel.GuildChannelCreate
click scurrypy.api.channels.guild_text.GuildTextChannelPart href "" "scurrypy.api.channels.guild_text.GuildTextChannelPart"
click scurrypy.bases.channel.GuildChannelCreate href "" "scurrypy.bases.channel.GuildChannelCreate"
click scurrypy.core.model.DataModel href "" "scurrypy.core.model.DataModel"
Parameters for creating a guild text channel.
name: str | None = None
class-attribute
instance-attribute
¶
Name of the channel.
topic: str | None = None
class-attribute
instance-attribute
¶
Topic of the channel.
position: int | None = None
class-attribute
instance-attribute
¶
Sorting position of the channel (channels with the same position are sorted by id).
rate_limit_per_user: int | None = None
class-attribute
instance-attribute
¶
Seconds user must wait between sending messages in the channel.
parent_id: Snowflake | None = None
class-attribute
instance-attribute
¶
Category ID of the channel.
nsfw: bool | None = None
class-attribute
instance-attribute
¶
If the channel is flagged NSFW.
default_auto_archive_duration: int | None = None
class-attribute
instance-attribute
¶
Default duration in minutes threads will be hidden after period of inactivity.
default_thread_rate_limit_per_user: int | None = None
class-attribute
instance-attribute
¶
Rate limit per user set on newly created threads.
Note
This field does not live update!
type: ChannelType = field(init=False, default=(ChannelType.GUILD_TEXT))
class-attribute
instance-attribute
¶
Type of channel. Always ChannelType.GUILD_TEXT for this class.
Tag¶
tag
¶
TagModel
dataclass
¶
Bases: DataModel
flowchart TD
scurrypy.api.channels.tag.TagModel[TagModel]
scurrypy.core.model.DataModel[DataModel]
scurrypy.core.model.DataModel --> scurrypy.api.channels.tag.TagModel
click scurrypy.api.channels.tag.TagModel href "" "scurrypy.api.channels.tag.TagModel"
click scurrypy.core.model.DataModel href "" "scurrypy.core.model.DataModel"
Represents the tag object found in GUILD_FORUM channels.
id: Snowflake
instance-attribute
¶
ID of the tag.
name: str
instance-attribute
¶
Name of the tag.
moderated: bool
instance-attribute
¶
Whether the tag can only be added/removed by a member with MANAGE_THREADS.
emoji_id: Snowflake
instance-attribute
¶
ID of a guild's custom emoji.
emoji_name: str
instance-attribute
¶
Unicode character of the emoji.
TagPart
dataclass
¶
Bases: DataModel
flowchart TD
scurrypy.api.channels.tag.TagPart[TagPart]
scurrypy.core.model.DataModel[DataModel]
scurrypy.core.model.DataModel --> scurrypy.api.channels.tag.TagPart
click scurrypy.api.channels.tag.TagPart href "" "scurrypy.api.channels.tag.TagPart"
click scurrypy.core.model.DataModel href "" "scurrypy.core.model.DataModel"
Represents the tag object found in GUILD_FORUM channels.
name: str | None = None
class-attribute
instance-attribute
¶
Name of the tag.
moderated: bool | None = None
class-attribute
instance-attribute
¶
Whether the tag can only be added/removed by a member with MANAGE_THREADS.
emoji_id: Snowflake | None = None
class-attribute
instance-attribute
¶
ID of a guild's custom emoji.
emoji_name: str | None = None
class-attribute
instance-attribute
¶
Unicode character of the emoji.
Threads¶
threads
¶
ThreadFromMessagePart
dataclass
¶
Bases: DataModel
flowchart TD
scurrypy.api.channels.threads.ThreadFromMessagePart[ThreadFromMessagePart]
scurrypy.core.model.DataModel[DataModel]
scurrypy.core.model.DataModel --> scurrypy.api.channels.threads.ThreadFromMessagePart
click scurrypy.api.channels.threads.ThreadFromMessagePart href "" "scurrypy.api.channels.threads.ThreadFromMessagePart"
click scurrypy.core.model.DataModel href "" "scurrypy.core.model.DataModel"
Parameters for creating a thread attached to a message.
name: str | None = None
class-attribute
instance-attribute
¶
Name of the thread.
rate_limit_per_user: int | None = None
class-attribute
instance-attribute
¶
Seconds user must wait between sending messages in the channel.
auto_archive_duration: AutoArchiveDurationType | None = None
class-attribute
instance-attribute
¶
Duration in minutes threads will be hidden after period of inactivity.
ThreadWithoutMessagePart
dataclass
¶
Bases: DataModel
flowchart TD
scurrypy.api.channels.threads.ThreadWithoutMessagePart[ThreadWithoutMessagePart]
scurrypy.core.model.DataModel[DataModel]
scurrypy.core.model.DataModel --> scurrypy.api.channels.threads.ThreadWithoutMessagePart
click scurrypy.api.channels.threads.ThreadWithoutMessagePart href "" "scurrypy.api.channels.threads.ThreadWithoutMessagePart"
click scurrypy.core.model.DataModel href "" "scurrypy.core.model.DataModel"
Parameters for creating a thread without a message.
name: str | None = None
class-attribute
instance-attribute
¶
Name of the thread.
rate_limit_per_user: int | None = None
class-attribute
instance-attribute
¶
Seconds user must wait between sending messages in the channel.
auto_archive_duration: AutoArchiveDurationType | None = None
class-attribute
instance-attribute
¶
Duration in minutes threads will be hidden after period of inactivity.
type: ChannelType | None = None
class-attribute
instance-attribute
¶
Type of thread to create. If omitted, Discord defaults to ChannelType.PRIVATE_THREAD.
invitable: bool | None = None
class-attribute
instance-attribute
¶
Whether non-moderators can add other non-moderators to the thread (private threads only).
ThreadMetadataModel
dataclass
¶
Bases: DataModel
flowchart TD
scurrypy.api.channels.threads.ThreadMetadataModel[ThreadMetadataModel]
scurrypy.core.model.DataModel[DataModel]
scurrypy.core.model.DataModel --> scurrypy.api.channels.threads.ThreadMetadataModel
click scurrypy.api.channels.threads.ThreadMetadataModel href "" "scurrypy.api.channels.threads.ThreadMetadataModel"
click scurrypy.core.model.DataModel href "" "scurrypy.core.model.DataModel"
Represents the thread metadata object.
archived: bool
instance-attribute
¶
Whether the thread is archived.
auto_archive_duration: int
instance-attribute
¶
How long to wait until the thread is hidden (in minutes).
archive_timestamp: str
instance-attribute
¶
ISO8601 timestamp of when the thread's archive status was last changed.
locked: bool
instance-attribute
¶
Whether the thread is locked.
Note
Only users with MANAGE_THREADS can unarchive the thread.
invitable: bool | None
instance-attribute
¶
Whether non-moderators can add other non-moderators to the thread (private threads only).
create_timestamp: str | None
instance-attribute
¶
ISO8601 timestamp of thread creation (field only exists after Jan 09, 2022).
ThreadMemberModel
dataclass
¶
Bases: DataModel
flowchart TD
scurrypy.api.channels.threads.ThreadMemberModel[ThreadMemberModel]
scurrypy.core.model.DataModel[DataModel]
scurrypy.core.model.DataModel --> scurrypy.api.channels.threads.ThreadMemberModel
click scurrypy.api.channels.threads.ThreadMemberModel href "" "scurrypy.api.channels.threads.ThreadMemberModel"
click scurrypy.core.model.DataModel href "" "scurrypy.core.model.DataModel"
Represents a user that has joined a thread.
id: Snowflake | None
instance-attribute
¶
ID of the thread.
user_id: Snowflake | None
instance-attribute
¶
ID of the user.
join_timestamp: str
instance-attribute
¶
ISO8601 timestamp of when the user last joined the thread.
member: GuildMemberModel | None
instance-attribute
¶
Additional information about the user.
Note
Only present when with_member is toggled on request.
default_thread_rate_limit_per_user: int | None
instance-attribute
¶
Rate limit per user set on newly created threads.
Note
This field does not live update!
ArchivedThreadsModel
dataclass
¶
Bases: DataModel
flowchart TD
scurrypy.api.channels.threads.ArchivedThreadsModel[ArchivedThreadsModel]
scurrypy.core.model.DataModel[DataModel]
scurrypy.core.model.DataModel --> scurrypy.api.channels.threads.ArchivedThreadsModel
click scurrypy.api.channels.threads.ArchivedThreadsModel href "" "scurrypy.api.channels.threads.ArchivedThreadsModel"
click scurrypy.core.model.DataModel href "" "scurrypy.core.model.DataModel"
Response body for fetching archived threads.
ActiveThreadsModel
dataclass
¶
Bases: DataModel
flowchart TD
scurrypy.api.channels.threads.ActiveThreadsModel[ActiveThreadsModel]
scurrypy.core.model.DataModel[DataModel]
scurrypy.core.model.DataModel --> scurrypy.api.channels.threads.ActiveThreadsModel
click scurrypy.api.channels.threads.ActiveThreadsModel href "" "scurrypy.api.channels.threads.ActiveThreadsModel"
click scurrypy.core.model.DataModel href "" "scurrypy.core.model.DataModel"
Response body for fetching active guild threads.
ThreadChannelModel
dataclass
¶
Bases: ChannelModel
flowchart TD
scurrypy.api.channels.threads.ThreadChannelModel[ThreadChannelModel]
scurrypy.api.channels.channel.ChannelModel[ChannelModel]
scurrypy.core.model.DataModel[DataModel]
scurrypy.api.channels.channel.ChannelModel --> scurrypy.api.channels.threads.ThreadChannelModel
scurrypy.core.model.DataModel --> scurrypy.api.channels.channel.ChannelModel
click scurrypy.api.channels.threads.ThreadChannelModel href "" "scurrypy.api.channels.threads.ThreadChannelModel"
click scurrypy.api.channels.channel.ChannelModel href "" "scurrypy.api.channels.channel.ChannelModel"
click scurrypy.core.model.DataModel href "" "scurrypy.core.model.DataModel"
Represents the thread channel.
owner_id: Snowflake | None
instance-attribute
¶
ID of the creator of the thread.
application_id: Snowflake | None
instance-attribute
¶
ID of the application that created thread.
thread_metadata: ThreadMetadataModel | None
instance-attribute
¶
Thread-specific fields not needed by other channels.
member: ThreadMemberModel | None
instance-attribute
¶
Thread member object for the current user if they have joined the thread.
default_auto_archive_duration: int | None
instance-attribute
¶
Default duration in minutes threads will be hidden after period of inactivity.