Bot UI Kit¶
The library has helpers to help create component-based UIs.
Shortcut decorators¶
- @discord.ui.button(*, label=None, custom_id=None, disabled=False, style=('secondary', 2), emoji=None, row=None, id=None)[исходный код]¶
A decorator that attaches a button to a component.
The function being decorated should have three parameters,
selfrepresenting thediscord.ui.View,discord.ui.ActionRowordiscord.ui.Section, thediscord.ui.Buttonbeing pressed, and thediscord.Interactionyou receive.Примечание
Premium and link buttons cannot be created with this decorator. Consider creating a
Buttonobject manually instead. These types of buttons do not have a callback associated since Discord doesn’t handle them when clicked.- Параметры:
custom_id (
str|None) – The ID of the button that gets received during an interaction. It is recommended not to set this parameter to prevent conflicts.style (
ButtonStyle) – The style of the button. Defaults toButtonStyle.grey.disabled (
bool) – Whether the button is disabled or not. Defaults toFalse.emoji (
str|GuildEmoji|AppEmoji|PartialEmoji|None) – The emoji of the button. This can be in string form or aPartialEmojior a fullGuildEmojiorAppEmoji.The relative row this button belongs to. A Discord component can only have 5 rows. By default, items are arranged automatically into those 5 rows. If you’d like to control the relative positioning of the row then passing an index is advised. For example, row=1 will show up before row=2. Defaults to
None, which is automatic ordering. The row number must be between 0 and 4 (i.e. zero indexed).Предупреждение
This parameter does not work in
ActionRow.
- Тип результата:
Callable[[Callable[[Any,Button[TypeVar(V, bound= BaseView, covariant=True)],Interaction],Coroutine[Any,Any,Any]]],Button[TypeVar(V, bound= BaseView, covariant=True)]]
- @discord.ui.select(select_type=('string_select', 3), *, placeholder=None, custom_id=None, min_values=1, max_values=1, options=..., channel_types=..., disabled=False, row=None, id=None, default_values=None)[исходный код]¶
A decorator that attaches a select menu to a component.
The function being decorated should have three parameters,
selfrepresenting thediscord.ui.View,discord.ui.ActionRowordiscord.ui.Section, thediscord.ui.Selectbeing pressed and thediscord.Interactionyou receive.In order to get the selected items that the user has chosen within the callback use
Select.values.Изменено в версии 2.3: Creating select menus of different types is now supported.
- Параметры:
select_type (
ComponentType) – The type of select to create. Must be one ofdiscord.ComponentType.string_select,discord.ComponentType.user_select,discord.ComponentType.role_select,discord.ComponentType.mentionable_select, ordiscord.ComponentType.channel_select.placeholder (
str|None) – The placeholder text that is shown if nothing is selected, if any.custom_id (
str|None) – The ID of the select menu that gets received during an interaction. It is recommended not to set this parameter to prevent conflicts.row (
int|None) – The relative row this select menu belongs to. A Discord component can only have 5 rows. By default, items are arranged automatically into those 5 rows. If you’d like to control the relative positioning of the row then passing an index is advised. For example, row=1 will show up before row=2. Defaults toNone, which is automatic ordering. The row number must be between 0 and 4 (i.e. zero indexed).min_values (
int) – The minimum number of items that must be chosen for this select menu. Defaults to 1 and must be between 0 and 25.max_values (
int) – The maximum number of items that must be chosen for this select menu. Defaults to 1 and must be between 1 and 25.options (
list[SelectOption]) – A list of options that can be selected in this menu. Only valid for thediscord.ComponentType.string_selecttype.channel_types (
list[ChannelType]) – The channel types that should be selectable. Only valid for thediscord.ComponentType.channel_selecttype. Defaults to all channel types.disabled (
bool) – Whether the select is disabled or not. Defaults toFalse.default_values (
Sequence[SelectDefaultValue|Snowflake] |None) –The default values of this select. Only applicable if
select_typeis notdiscord.ComponentType.string_select.This can be either
discord.SelectDefaultValueinstances or models, which will be converted intodiscord.SelectDefaultValueinstances.Below, is a table defining the model instance type and the default value type it will be mapped:
Model Type
Default Value Type
depending on
discord.Object.type, it will be mapped to any aboveIf you pass a model that is not defined in the table,
TypeErrorwill be raised.Примечание
The
discord.abc.GuildChannelprotocol includesdiscord.TextChannel,discord.VoiceChannel,discord.StageChannel,discord.ForumChannel,discord.Thread,discord.MediaChannel. This list is not exhaustive, and is bound to change based of the new channel types Discord adds.Добавлено в версии 2.7.
- Тип результата:
Callable[[Callable[[Any,Select[TypeVar(V, bound= BaseView, covariant=True),TypeVar(ST, bound= Snowflake | str, covariant=True),Any],Interaction],Coroutine[Any,Any,Any]]],Select[TypeVar(V, bound= BaseView, covariant=True),TypeVar(ST, bound= Snowflake | str, covariant=True),Any]]
- @discord.ui.string_select(*, placeholder=None, custom_id=None, min_values=1, max_values=1, options=..., disabled=False, row=None, id=None)[исходный код]¶
A shortcut for
discord.ui.select()with select typediscord.ComponentType.string_select.Добавлено в версии 2.3.
- @discord.ui.user_select(*, placeholder=None, custom_id=None, min_values=1, max_values=1, disabled=False, row=None, id=None, default_values=None)[исходный код]¶
A shortcut for
discord.ui.select()with select typediscord.ComponentType.user_select.Добавлено в версии 2.3.
- @discord.ui.role_select(*, placeholder=None, custom_id=None, min_values=1, max_values=1, disabled=False, row=None, id=None, default_values=None)[исходный код]¶
A shortcut for
discord.ui.select()with select typediscord.ComponentType.role_select.Добавлено в версии 2.3.
- @discord.ui.mentionable_select(*, placeholder=None, custom_id=None, min_values=1, max_values=1, disabled=False, row=None, id=None, default_values=None)[исходный код]¶
A shortcut for
discord.ui.select()with select typediscord.ComponentType.mentionable_select.Добавлено в версии 2.3.
- @discord.ui.channel_select(*, placeholder=None, custom_id=None, min_values=1, max_values=1, disabled=False, channel_types=..., row=None, id=None, default_values=None)[исходный код]¶
A shortcut for
discord.ui.select()with select typediscord.ComponentType.channel_select.Добавлено в версии 2.3.
Objects¶
- defadd_item
- defclear_items
- defcopy_text
- defdisable_all_items
- defenable_all_items
- asyncinteraction_check
- defis_components_v2
- defis_dispatching
- defis_finished
- defis_persistent
- asyncon_check_failure
- asyncon_error
- asyncon_timeout
- defremove_item
- defstop
- asyncwait
- class discord.ui.BaseView(*items, timeout=180.0, disable_on_timeout=False, store=True)[исходный код]¶
The base class for UI views used in messages.
Добавлено в версии 2.7.
- Параметры:
- add_item(item)[исходный код]¶
Adds an item to the view.
- Параметры:
item (
ViewItem[TypeVar(V, bound= BaseView, covariant=True)]) – The item to add to the view.- Исключение:
ValueError – Maximum number of children has been exceeded
- Тип результата:
Self
- remove_item(item)[исходный код]¶
Removes an item from the view. If an
intorstris passed, the item will be removed by ViewItemidorcustom_idrespectively.
- clear_items()[исходный код]¶
Removes all items from this view.
- Тип результата:
Self
- await interaction_check(interaction)[исходный код]¶
This function is a coroutine.
A callback that is called when an interaction happens within the view that checks whether the view should process item callbacks for the interaction.
This is useful to override if, for example, you want to ensure that the interaction author is a given user.
The default implementation of this returns
True.If this returns
False,on_check_failure()is called.Примечание
If an exception occurs within the body then the check is considered a failure and
on_error()is called.- Параметры:
interaction (
Interaction) – The interaction that occurred.- Результат:
Whether the view children’s callbacks should be called.
- Тип результата:
- await on_timeout()[исходный код]¶
This function is a coroutine.
A callback that is called when a view’s timeout elapses without being explicitly stopped.
- Тип результата:
- await on_check_failure(interaction)[исходный код]¶
This function is a coroutine. A callback that is called when a
BaseView.interaction_check()returnsFalse. This can be used to send a response when a check failure occurs.- Параметры:
interaction (
Interaction) – The interaction that occurred.- Тип результата:
- await on_error(error, item, interaction)[исходный код]¶
This function is a coroutine.
A callback that is called when an item’s callback or
interaction_check()fails with an error.The default implementation prints the traceback to stderr.
- Параметры:
error (
Exception) – The exception that was raised.item (
ViewItem[TypeVar(V, bound= BaseView, covariant=True)]) – The item that failed the dispatch.interaction (
Interaction) – The interaction that led to the failure.
- Тип результата:
- is_components_v2()[исходный код]¶
Whether the view contains V2 components.
A view containing V2 components cannot be sent alongside message content or embeds.
- Тип результата:
- is_finished()[исходный код]¶
Whether the view has finished interacting.
- Тип результата:
- is_dispatching()[исходный код]¶
Whether the view has been added for dispatching purposes.
- Тип результата:
- is_persistent()[исходный код]¶
Whether the view is set up as persistent.
A persistent view has all their components with a set
custom_idand atimeoutset toNone.- Тип результата:
- stop()[исходный код]¶
Stops listening to interaction events from this view.
This operation cannot be undone.
- Тип результата:
- await wait()[исходный код]¶
Waits until the view has finished interacting.
A view is considered finished when
stop()is called, or it times out.- Результат:
If
True, then the view timed out. IfFalsethen the view finished normally.- Тип результата:
- disable_all_items(*, exclusions=None)[исходный код]¶
Disables all buttons and select menus in the view.
- enable_all_items(*, exclusions=None)[исходный код]¶
Enables all buttons and select menus in the view.
- copy_text()[исходный код]¶
Returns the text of all
TextDisplayitems in this View. Equivalent to the Copy Text option on Discord clients.- Тип результата:
- clsView.from_dict
- clsView.from_message
- defadd_item
- defclear_items
- defcopy_text
- defdisable_all_items
- defenable_all_items
- defget_item
- asyncinteraction_check
- defis_components_v2
- defis_dispatching
- defis_finished
- defis_persistent
- asyncon_check_failure
- asyncon_error
- asyncon_timeout
- defremove_item
- defstop
- asyncwait
- class discord.ui.View(*items, timeout=180.0, disable_on_timeout=False, store=True)[исходный код]¶
Represents a legacy UI view for V1 components
ButtonandSelect.This object must be inherited to create a UI within Discord.
Добавлено в версии 2.0.
Изменено в версии 2.7: Now inherits from
BaseView- Параметры:
*items (
ViewItem[TypeVar(V, bound= BaseView, covariant=True)]) – The initial items attached to this view.timeout (
float|None) – Timeout in seconds from last interaction with the UI before no longer accepting input. Defaults to 180.0. IfNonethen there is no timeout.store (
bool) – Whether this view should be stored for callback listening. Setting it toFalsewill ignore item callbacks and prevent their values from being refreshed. Defaults toTrue.
- timeout¶
Timeout from last interaction with the UI before no longer accepting input. If
Nonethen there is no timeout.- Type:
Optional[
float]
- disable_on_timeout¶
Whether to disable the view when the timeout is reached. Defaults to
False.- Type:
- message¶
The message that this view is attached to. If
Nonethen the view has not been sent with a message.- Type:
Optional[
Message]
- parent¶
The parent interaction which this view was sent from. If
Nonethen the view was not sent usingInteractionResponse.send_message().- Type:
Optional[
Interaction]
- Параметры:
disable_on_timeout (
bool)
- classmethod from_message(message, /, *, timeout=180.0)[исходный код]¶
Converts a message’s components into a
View.The
Message.componentsof a message are read-only and separate types from those in thediscord.uinamespace. In order to modify and edit message components they must be converted into aViewfirst.
- classmethod from_dict(data, /, *, timeout=180.0)[исходный код]¶
Converts a list of component dicts into a
View.
- add_item(item)[исходный код]¶
Adds an item to the view. Attempting to add a
ActionRowwill add its children instead.- Параметры:
item (
ViewItem[TypeVar(V, bound= BaseView, covariant=True)]) – The item to add to the view.- Исключение:
ValueError – Maximum number of children has been exceeded (25) or the row the item is trying to be added to is full.
- Тип результата:
Self
- remove_item(item)[исходный код]¶
Removes an item from the view. If an
intorstris passed, the item will be removed by Itemidorcustom_idrespectively.
- clear_items()[исходный код]¶
Removes all items from the view.
- Тип результата:
Self
- is_components_v2()[исходный код]¶
Whether the view contains V2 components.
A view containing V2 components cannot be sent alongside message content or embeds.
This is always
FalseforView.- Тип результата:
- copy_text()¶
Returns the text of all
TextDisplayitems in this View. Equivalent to the Copy Text option on Discord clients.- Тип результата:
- disable_all_items(*, exclusions=None)¶
Disables all buttons and select menus in the view.
- enable_all_items(*, exclusions=None)¶
Enables all buttons and select menus in the view.
- get_item(custom_id)¶
Gets an item from this structure. Roughly equal to utils.get(self.children, …). If an
intis provided, the item will be retrieved byid, otherwise bycustom_id. This method will also search nested items.
- await interaction_check(interaction)¶
This function is a coroutine.
A callback that is called when an interaction happens within the view that checks whether the view should process item callbacks for the interaction.
This is useful to override if, for example, you want to ensure that the interaction author is a given user.
The default implementation of this returns
True.If this returns
False,on_check_failure()is called.Примечание
If an exception occurs within the body then the check is considered a failure and
on_error()is called.- Параметры:
interaction (
Interaction) – The interaction that occurred.- Результат:
Whether the view children’s callbacks should be called.
- Тип результата:
- is_persistent()¶
Whether the view is set up as persistent.
A persistent view has all their components with a set
custom_idand atimeoutset toNone.- Тип результата:
- await on_check_failure(interaction)¶
This function is a coroutine. A callback that is called when a
BaseView.interaction_check()returnsFalse. This can be used to send a response when a check failure occurs.- Параметры:
interaction (
Interaction) – The interaction that occurred.- Тип результата:
- await on_error(error, item, interaction)¶
This function is a coroutine.
A callback that is called when an item’s callback or
interaction_check()fails with an error.The default implementation prints the traceback to stderr.
- Параметры:
error (
Exception) – The exception that was raised.item (
ViewItem[TypeVar(V, bound= BaseView, covariant=True)]) – The item that failed the dispatch.interaction (
Interaction) – The interaction that led to the failure.
- Тип результата:
- await on_timeout()¶
This function is a coroutine.
A callback that is called when a view’s timeout elapses without being explicitly stopped.
- Тип результата:
- stop()¶
Stops listening to interaction events from this view.
This operation cannot be undone.
- Тип результата:
- clsDesignerView.from_dict
- clsDesignerView.from_message
- defadd_item
- defclear_items
- defcopy_text
- defdisable_all_items
- defenable_all_items
- defget_item
- asyncinteraction_check
- defis_components_v2
- defis_dispatching
- defis_finished
- defis_persistent
- asyncon_check_failure
- asyncon_error
- asyncon_timeout
- defremove_item
- defstop
- asyncwait
- class discord.ui.DesignerView(*items, timeout=180.0, disable_on_timeout=False, store=True)[исходный код]¶
Represents a UI view compatible with v2 components.
This object must be inherited to create a UI within Discord.
Добавлено в версии 2.7.
- Параметры:
*items (
ViewItem[TypeVar(V, bound= BaseView, covariant=True)]) – The initial items attached to this view.timeout (
float|None) – Timeout in seconds from last interaction with the UI before no longer accepting input. Defaults to 180.0. IfNonethen there is no timeout.store (
bool) – Whether this view should be stored for callback listening. Setting it toFalsewill ignore item callbacks and prevent their values from being refreshed. Defaults toTrue.
- timeout¶
Timeout from last interaction with the UI before no longer accepting input. If
Nonethen there is no timeout.- Type:
Optional[
float]
- disable_on_timeout¶
Whether to disable the view’s items when the timeout is reached. Defaults to
False.- Type:
- message¶
The message that this view is attached to. If
Nonethen the view has not been sent with a message.- Type:
Optional[
Message]
- parent¶
The parent interaction which this view was sent from. If
Nonethen the view was not sent usingInteractionResponse.send_message().- Type:
Optional[
Interaction]
- Параметры:
disable_on_timeout (
bool)
- classmethod from_message(message, /, *, timeout=180.0)[исходный код]¶
Converts a message’s components into a
DesignerView.The
Message.componentsof a message are read-only and separate types from those in thediscord.uinamespace. In order to modify and edit message components they must be converted into aViewfirst.
- classmethod from_dict(data, /, *, timeout=180.0)[исходный код]¶
Converts a list of component dicts into a
DesignerView.
- add_item(item)[исходный код]¶
Adds an item to the view.
- Параметры:
item (
ViewItem[TypeVar(V, bound= BaseView, covariant=True)]) – The item to add to the view.- Исключение:
ValueError – Maximum number of items has been exceeded (40)
- Тип результата:
Self
- is_components_v2()[исходный код]¶
Whether the view contains V2 components.
A view containing V2 components cannot be sent alongside message content or embeds.
- Тип результата:
- clear_items()¶
Removes all items from this view.
- Тип результата:
Self
- copy_text()¶
Returns the text of all
TextDisplayitems in this View. Equivalent to the Copy Text option on Discord clients.- Тип результата:
- disable_all_items(*, exclusions=None)¶
Disables all buttons and select menus in the view.
- enable_all_items(*, exclusions=None)¶
Enables all buttons and select menus in the view.
- get_item(custom_id)¶
Gets an item from this structure. Roughly equal to utils.get(self.children, …). If an
intis provided, the item will be retrieved byid, otherwise bycustom_id. This method will also search nested items.
- await interaction_check(interaction)¶
This function is a coroutine.
A callback that is called when an interaction happens within the view that checks whether the view should process item callbacks for the interaction.
This is useful to override if, for example, you want to ensure that the interaction author is a given user.
The default implementation of this returns
True.If this returns
False,on_check_failure()is called.Примечание
If an exception occurs within the body then the check is considered a failure and
on_error()is called.- Параметры:
interaction (
Interaction) – The interaction that occurred.- Результат:
Whether the view children’s callbacks should be called.
- Тип результата:
- is_persistent()¶
Whether the view is set up as persistent.
A persistent view has all their components with a set
custom_idand atimeoutset toNone.- Тип результата:
- await on_check_failure(interaction)¶
This function is a coroutine. A callback that is called when a
BaseView.interaction_check()returnsFalse. This can be used to send a response when a check failure occurs.- Параметры:
interaction (
Interaction) – The interaction that occurred.- Тип результата:
- await on_error(error, item, interaction)¶
This function is a coroutine.
A callback that is called when an item’s callback or
interaction_check()fails with an error.The default implementation prints the traceback to stderr.
- Параметры:
error (
Exception) – The exception that was raised.item (
ViewItem[TypeVar(V, bound= BaseView, covariant=True)]) – The item that failed the dispatch.interaction (
Interaction) – The interaction that led to the failure.
- Тип результата:
- await on_timeout()¶
This function is a coroutine.
A callback that is called when a view’s timeout elapses without being explicitly stopped.
- Тип результата:
- remove_item(item)¶
Removes an item from the view. If an
intorstris passed, the item will be removed by ViewItemidorcustom_idrespectively.
- stop()¶
Stops listening to interaction events from this view.
This operation cannot be undone.
- Тип результата:
- class discord.ui.Item[исходный код]¶
Represents the base UI item that all UI components inherit from.
Добавлено в версии 2.0.
- property type: ComponentType¶
The underlying component’s type.
- class discord.ui.ViewItem[исходный код]¶
Represents an item used in Views.
The following are the original items supported in
discord.ui.View:And the following are new items under the «Components V2» specification for use in
discord.ui.DesignerView:Additionally,
discord.ui.ActionRowshould be used indiscord.ui.DesignerViewto supportdiscord.ui.Buttonanddiscord.ui.Select.Добавлено в версии 2.7.
- property view: V | None¶
Gets the parent view associated with this item.
The view refers to the structure that holds this item. This is typically set automatically when the item is added to a view.
- Результат:
The parent view of this item, or
Noneif the item is not attached to any view.- Тип результата:
Optional[
BaseView]
- await callback(interaction)[исходный код]¶
This function is a coroutine.
The callback associated with this UI item.
This can be overridden by subclasses.
- Параметры:
interaction (
Interaction) – The interaction that triggered this UI item.
- property id: int | None¶
Gets this item’s ID.
This can be set by the user when constructing an Item. If not, Discord will automatically provide one when the item’s parent is sent.
- Результат:
The ID of this item, or
Noneif the user didn’t set one.- Тип результата:
Optional[
int]
- property type: ComponentType¶
The underlying component’s type.
- class discord.ui.ModalItem[исходный код]¶
Represents an item used in Modals.
discord.ui.InputTextis the original item supported indiscord.ui.Modal.The following are newly available in
discord.ui.DesignerModal:And
discord.ui.Labelshould be used indiscord.ui.DesignerModalto add the following items:Добавлено в версии 2.7.
- property id: int | None¶
Gets this item’s ID.
This can be set by the user when constructing an Item. If not, Discord will automatically provide one when the item’s parent is sent.
- Результат:
The ID of this item, or
Noneif the user didn’t set one.- Тип результата:
Optional[
int]
- property type: ComponentType¶
The underlying component’s type.
- defadd_button
- defadd_item
- defadd_select
- defdisable_all_items
- defenable_all_items
- defget_item
- defremove_item
- class discord.ui.ActionRow(*items, id=None)[исходный код]¶
Represents a UI Action Row used in
discord.ui.DesignerView.The items supported are as follows:
Добавлено в версии 2.7.
- Параметры:
- add_item(item)[исходный код]¶
Adds an item to the action row.
- remove_item(item)[исходный код]¶
Removes an item from the action row. If an int or str is passed, it will remove by Item
idorcustom_idrespectively.
- get_item(id)[исходный код]¶
Get an item from this action row. Roughly equivalent to utils.get(row.children, …). If an
intis provided, the item will be retrieved byid, otherwise bycustom_id.
- add_button(*, style=('secondary', 2), label=None, disabled=False, custom_id=None, url=None, emoji=None, sku_id=None, id=None)[исходный код]¶
Adds a
Buttonto the action row.To append a pre-existing
Button, use theadd_item()method instead.- Параметры:
style (
ButtonStyle) – The style of the button.custom_id (
str|None) – The custom ID of the button that gets received during an interaction. If this button is for a URL, it does not have a custom ID.disabled (
bool) – Whether the button is disabled or not.label (
str|None) – The label of the button, if any. Maximum of 80 chars.emoji (
str|GuildEmoji|AppEmoji|PartialEmoji|None) – The emoji of the button, if any.sku_id (
int|None) – The ID of the SKU this button refers to.
- Тип результата:
Self
- add_select(select_type=('string_select', 3), *, custom_id=None, placeholder=None, min_values=1, max_values=1, options=None, channel_types=None, disabled=False, id=None, default_values=None)[исходный код]¶
Adds a
Selectto the action row.To append a pre-existing
Select, use theadd_item()method instead.- Параметры:
select_type (
ComponentType) – The type of select to create. Must be one ofdiscord.ComponentType.string_select,discord.ComponentType.user_select,discord.ComponentType.role_select,discord.ComponentType.mentionable_select, ordiscord.ComponentType.channel_select.custom_id (
str|None) – The custom ID of the select menu that gets received during an interaction. If not given then one is generated for you.placeholder (
str|None) – The placeholder text that is shown if nothing is selected, if any.min_values (
int) – The minimum number of items that must be chosen for this select menu. Defaults to 1 and must be between 1 and 25.max_values (
int) – The maximum number of items that must be chosen for this select menu. Defaults to 1 and must be between 1 and 25.options (
list[SelectOption] |None) – A list of options that can be selected in this menu. Only valid for selects of typediscord.ComponentType.string_select.channel_types (
list[ChannelType] |None) – A list of channel types that can be selected in this menu. Only valid for selects of typediscord.ComponentType.channel_select.disabled (
bool) – Whether the select is disabled or not. Defaults toFalse.default_values (
Sequence[SelectDefaultValue] |None) –The default values of this select. Only applicable if
select_typeis notdiscord.ComponentType.string_select.These can be either
discord.SelectDefaultValueinstances or models, which will be converted intodiscord.SelectDefaultValueinstances.
- Тип результата:
Self
- disable_all_items(*, exclusions=None)[исходный код]¶
Disables all items in the row.
- enable_all_items(*, exclusions=None)[исходный код]¶
Enables all items in the row.
- property width¶
Return the sum of the items“ widths.
- property id: int | None¶
Gets this item’s ID.
This can be set by the user when constructing an Item. If not, Discord will automatically provide one when the item’s parent is sent.
- Результат:
The ID of this item, or
Noneif the user didn’t set one.- Тип результата:
Optional[
int]
- property type: ComponentType¶
The underlying component’s type.
- property view: V | None¶
Gets the parent view associated with this item.
The view refers to the structure that holds this item. This is typically set automatically when the item is added to a view.
- Результат:
The parent view of this item, or
Noneif the item is not attached to any view.- Тип результата:
Optional[
BaseView]
- asynccallback
- class discord.ui.Button(*, style=('secondary', 2), label=None, disabled=False, custom_id=None, url=None, emoji=None, sku_id=None, row=None, id=None)[исходный код]¶
Represents a UI button.
Добавлено в версии 2.0.
- Параметры:
style (
ButtonStyle) – The style of the button.custom_id (
str|None) – The ID of the button that gets received during an interaction. If this button is for a URL, it does not have a custom ID.disabled (
bool) – Whether the button is disabled or not.label (
str|None) – The label of the button, if any. Maximum of 80 chars.emoji (
str|GuildEmoji|AppEmoji|PartialEmoji|None) – The emoji of the button, if available.sku_id (
int|None) – The ID of the SKU this button refers to.The relative row this button belongs to. A Discord component can only have 5 rows. By default, items are arranged automatically into those 5 rows. If you’d like to control the relative positioning of the row then passing an index is advised. For example, row=1 will show up before row=2. Defaults to
None, which is automatic ordering. The row number must be between 0 and 4 (i.e. zero indexed).Предупреждение
This parameter does not work in
ActionRow.
- property style: ButtonStyle¶
The style of the button.
- property custom_id: str | None¶
The ID of the button that gets received during an interaction.
If this button is for a URL, it does not have a custom ID.
- property emoji: PartialEmoji | None¶
The emoji of the button, if available.
- property width: int¶
Gets the width of the item in the UI layout.
The width determines how much horizontal space this item occupies within its row.
- Результат:
The width of the item. Buttons have a width of 1.
- Тип результата:
- await callback(interaction)¶
This function is a coroutine.
The callback associated with this UI item.
This can be overridden by subclasses.
- Параметры:
interaction (
Interaction) – The interaction that triggered this UI item.
- property id: int | None¶
Gets this item’s ID.
This can be set by the user when constructing an Item. If not, Discord will automatically provide one when the item’s parent is sent.
- Результат:
The ID of this item, or
Noneif the user didn’t set one.- Тип результата:
Optional[
int]
- property type: ComponentType¶
The underlying component’s type.
- property view: V | None¶
Gets the parent view associated with this item.
The view refers to the structure that holds this item. This is typically set automatically when the item is added to a view.
- Результат:
The parent view of this item, or
Noneif the item is not attached to any view.- Тип результата:
Optional[
BaseView]
- property row: int | None¶
Gets or sets the row position of this item within its parent view.
The row position determines the vertical placement of the item in the UI. The value must be an integer between 0 and 4 (inclusive), or
Noneto indicate that no specific row is set. This attribute is not compatible withdiscord.ui.DesignerView.- Результат:
The row position of the item, or
Noneif not explicitly set.- Тип результата:
Optional[
int]- Исключение:
ValueError – If the row value is not
Noneand is outside the range [0, 4].
- defadd_default_value
- defadd_option
- defappend_default_value
- defappend_option
- asynccallback
- class discord.ui.Select(select_type=('string_select', 3), *, custom_id=None, placeholder=None, min_values=1, max_values=1, options=None, channel_types=None, disabled=False, row=None, id=None, required=None, default_values=None)[исходный код]¶
Represents a UI select menu.
This is usually represented as a drop down menu.
In order to get the selected items that the user has chosen, use
Select.values.Добавлено в версии 2.0.
Изменено в версии 2.3: Added support for
discord.ComponentType.string_select,discord.ComponentType.user_select,discord.ComponentType.role_select,discord.ComponentType.mentionable_select, anddiscord.ComponentType.channel_select.Изменено в версии 2.7: Can now be sent in
discord.ui.DesignerModal.- Параметры:
select_type (
ComponentType) –The type of select to create. Must be one of
discord.ComponentType.string_select,discord.ComponentType.user_select,discord.ComponentType.role_select,discord.ComponentType.mentionable_select, ordiscord.ComponentType.channel_select.The default is
discord.ComponentType.string_select, but if this is created using any of the provided aliases:StringSelect,RoleSelect,UserSelect,MentionableSelect, orChannelSelect, the default will be its respective select type.custom_id (
str|None) – The ID of the select menu that gets received during an interaction. If not given then one is generated for you.placeholder (
str|None) – The placeholder text that is shown if nothing is selected, if any.min_values (
int) – The minimum number of items that must be chosen for this select menu. Defaults to 1 and must be between 1 and 25.max_values (
int) – The maximum number of items that must be chosen for this select menu. Defaults to 1 and must be between 1 and 25.options (
list[SelectOption] |None) – A list of options that can be selected in this menu. Only valid for selects of typediscord.ComponentType.string_select.channel_types (
list[ChannelType] |None) – A list of channel types that can be selected in this menu. Only valid for selects of typediscord.ComponentType.channel_select.disabled (
bool) – Whether the select is disabled or not. Only useable in views. Defaults toFalsein views.row (
int|None) – The relative row this select menu belongs to. A Discord component can only have 5 rows. By default, items are arranged automatically into those 5 rows. If you’d like to control the relative positioning of the row then passing an index is advised. For example, row=1 will show up before row=2. Defaults toNone, which is automatic ordering. The row number must be between 0 and 4 (i.e. zero indexed). Does not work inActionRoworLabel.Whether the select is required or not. Only useable when added to
Labelfor modals. Defaults toTruein modals.Добавлено в версии 2.7.
default_values (
Sequence[SelectDefaultValue|TypeVar(ST, bound= Snowflake | str, covariant=True)] |None) –The default values of this select. Only applicable if
select_typeis notdiscord.ComponentType.string_select.These can be either
discord.SelectDefaultValueinstances or models, which will be converted intodiscord.SelectDefaultValueinstances.Below, is a table defining the model instance type and the default value type it will be mapped:
Model Type
Default Value Type
depending on
discord.Object.type, it will be mapped to any aboveIf you pass a model that is not defined in the table,
TypeErrorwill be raised.Примечание
The
discord.abc.GuildChannelprotocol includesdiscord.TextChannel,discord.VoiceChannel,discord.StageChannel,discord.ForumChannel,discord.Thread,discord.MediaChannel. This list is not exhaustive, and is bound to change based of the new channel types Discord adds.Добавлено в версии 2.7.
- property placeholder: str | None¶
The placeholder text that is shown if nothing is selected, if any.
- property channel_types: list[ChannelType]¶
A list of channel types that can be selected in this menu.
- property options: list[SelectOption]¶
A list of options that can be selected in this menu.
- property default_values: list[SelectDefaultValue]¶
A list of the select’s default values. This is only applicable if the select type is not
discord.ComponentType.string_select.Добавлено в версии 2.7.
- add_default_value(*, id, type=...)[исходный код]¶
Adds a default value to the select menu.
To append a pre-existing
discord.SelectDefaultValueuse theappend_default_value()method instead.Добавлено в версии 2.7.
- Параметры:
id (
int) – The ID of the entity to add as a default.type (
SelectDefaultValueType) – The default value type of the ID. This is only required if the selecttypeisdiscord.ComponentType.mentionable_select.
- Исключение:
TypeError – The select type is a mentionable_select and type was not provided, or the select type is string_select.
ValueError – The number of default select values exceeds 25.
- Тип результата:
Self
- append_default_value(value, /)[исходный код]¶
Appends a default value to this select menu.
Добавлено в версии 2.7.
- Параметры:
value (
SelectDefaultValue|Snowflake) –The default value to append to this select.
These can be either
discord.SelectDefaultValueinstances or models, which will be converted intodiscord.SelectDefaultvalueinstances.Below, is a table defining the model instance type and the default value type it will be mapped:
Model Type
Default Value Type
depending on
discord.Object.type, it will be mapped to any aboveIf you pass a model that is not defined in the table,
TypeErrorwill be raised.Примечание
The
discord.abc.GuildChannelprotocol includesdiscord.TextChannel,discord.VoiceChannel,discord.StageChannel,discord.ForumChannel,discord.Thread,discord.MediaChannel. This list is not exhaustive, and is bound to change based of the new channel types Discord adds.- Исключение:
TypeError – The select type is string_select, which does not allow for default_values
ValueError – The number of default select values exceeds 25.
- Тип результата:
Self
- add_option(*, label, value=..., description=None, emoji=None, default=False)[исходный код]¶
Adds an option to the select menu.
To append a pre-existing
discord.SelectOptionuse theappend_option()method instead.- Параметры:
label (
str) – The label of the option. This is displayed to users. Can only be up to 100 characters.value (
str) – The value of the option. This is not displayed to users. If not given, defaults to the label. Can only be up to 100 characters.description (
str|None) – An additional description of the option, if any. Can only be up to 100 characters.emoji (
str|GuildEmoji|AppEmoji|PartialEmoji|None) – The emoji of the option, if available. This can either be a string representing the custom or unicode emoji or an instance ofPartialEmoji,GuildEmoji, orAppEmoji.default (
bool) – Whether this option is selected by default.
- Исключение:
ValueError – The number of options exceeds 25.
- Тип результата:
Self
- append_option(option)[исходный код]¶
Appends an option to the select menu.
- Параметры:
option (
SelectOption) – The option to append to the select menu.- Исключение:
ValueError – The number of options exceeds 25.
- Тип результата:
Self
- property values: list[ST] | None¶
List[
str] | List[discord.Member|discord.User]] | List[discord.Role]] | List[discord.Member|discord.User|discord.Role]] | List[discord.abc.GuildChannel] | None: A list of values that have been selected by the user. This will beNoneif the select has not been interacted with yet.
- property width: int¶
Gets the width of the item in the UI layout.
The width determines how much horizontal space this item occupies within its row.
- Результат:
The width of the item. Select menus have a width of 5.
- Тип результата:
- property row: int | None¶
Gets or sets the row position of this item within its parent view.
The row position determines the vertical placement of the item in the UI. The value must be an integer between 0 and 4 (inclusive), or
Noneto indicate that no specific row is set. This attribute is not compatible withdiscord.ui.DesignerView.- Результат:
The row position of the item, or
Noneif not explicitly set.- Тип результата:
Optional[
int]- Исключение:
ValueError – If the row value is not
Noneand is outside the range [0, 4].
- await callback(interaction)¶
This function is a coroutine.
The callback associated with this UI item.
This can be overridden by subclasses.
- Параметры:
interaction (
Interaction) – The interaction that triggered this UI item.
- property id: int | None¶
Gets this item’s ID.
This can be set by the user when constructing an Item. If not, Discord will automatically provide one when the item’s parent is sent.
- Результат:
The ID of this item, or
Noneif the user didn’t set one.- Тип результата:
Optional[
int]
- property modal: M | None¶
Gets the parent modal associated with this item. This is typically set automatically when the item is added to a modal.
- Результат:
The parent modal of this item, or
Noneif the item is not attached to any modal.- Тип результата:
Optional[
BaseModal]
- property type: ComponentType¶
The underlying component’s type.
- property view: V | None¶
Gets the parent view associated with this item.
The view refers to the structure that holds this item. This is typically set automatically when the item is added to a view.
- Результат:
The parent view of this item, or
Noneif the item is not attached to any view.- Тип результата:
Optional[
BaseView]
- class discord.ui.StringSelect¶
An alias for
Selectwithselect_typeasdiscord.ComponentType.string_select.
- class discord.ui.UserSelect¶
An alias for
Selectwithselect_typeasdiscord.ComponentType.user_select.
- class discord.ui.RoleSelect¶
An alias for
Selectwithselect_typeasdiscord.ComponentType.role_select.
- class discord.ui.MentionableSelect¶
An alias for
Selectwithselect_typeasdiscord.ComponentType.mentionable_select.
- class discord.ui.ChannelSelect¶
An alias for
Selectwithselect_typeasdiscord.ComponentType.channel_select.
- defadd_item
- defadd_text
- defcopy_text
- defdisable_all_items
- defenable_all_items
- defget_item
- defremove_item
- defset_accessory
- defset_thumbnail
- class discord.ui.Section(*items, accessory=None, id=None)[исходный код]¶
Represents a UI section. Sections must have 1-3 (inclusive) items and an accessory set.
Добавлено в версии 2.7.
- Параметры:
*items (
ViewItem) – The initial items contained in this section, up to 3. Currently only supportsTextDisplay. Sections must have at least 1 item before being sent.accessory (
ViewItem) – The section’s accessory. This is displayed in the top right of the section. Currently only supportsButtonandThumbnail. Sections must have an accessory attached before being sent.
- add_item(item)[исходный код]¶
Adds an item to the section.
- Параметры:
item (
ViewItem) – The item to add to the section.- Исключение:
ValueError – Maximum number of items has been exceeded (3).
- Тип результата:
Self
- remove_item(item)[исходный код]¶
Removes an item from the section. If an
intorstris passed, the item will be removed by Itemidorcustom_idrespectively.
- get_item(id)[исходный код]¶
Get an item from this section. Alias for utils.get(section.walk_items(), …). If an
intis provided, it will be retrieved byid, otherwise it will check the accessory’scustom_id.
- add_text(content, *, id=None)[исходный код]¶
Adds a
TextDisplayto the section.- Параметры:
- Исключение:
ValueError – Maximum number of items has been exceeded (3).
- Тип результата:
Self
- set_accessory(item)[исходный код]¶
Set an item as the section’s
accessory.
- set_thumbnail(url, *, description=None, spoiler=False, id=None)[исходный код]¶
Sets a
Thumbnailwith the provided URL as the section’saccessory.
- copy_text()[исходный код]¶
Returns the text of all
TextDisplayitems in this section. Equivalent to the Copy Text option on Discord clients.- Тип результата:
- disable_all_items(*, exclusions=None)[исходный код]¶
Disables all buttons and select menus in the section. At the moment, this only disables
accessoryif it is a button.
- enable_all_items(*, exclusions=None)[исходный код]¶
Enables all buttons and select menus in the section. At the moment, this only enables
accessoryif it is a button.
- property id: int | None¶
Gets this item’s ID.
This can be set by the user when constructing an Item. If not, Discord will automatically provide one when the item’s parent is sent.
- Результат:
The ID of this item, or
Noneif the user didn’t set one.- Тип результата:
Optional[
int]
- property type: ComponentType¶
The underlying component’s type.
- property view: V | None¶
Gets the parent view associated with this item.
The view refers to the structure that holds this item. This is typically set automatically when the item is added to a view.
- Результат:
The parent view of this item, or
Noneif the item is not attached to any view.- Тип результата:
Optional[
BaseView]
- class discord.ui.TextDisplay(content, id=None)[исходный код]¶
Represents a UI text display. A message can have up to 4000 characters across all
TextDisplayobjects combined.Добавлено в версии 2.7.
- Параметры:
- copy_text()[исходный код]¶
Returns the content of this text display. Equivalent to the Copy Text option on Discord clients.
- Тип результата:
- property id: int | None¶
Gets this item’s ID.
This can be set by the user when constructing an Item. If not, Discord will automatically provide one when the item’s parent is sent.
- Результат:
The ID of this item, or
Noneif the user didn’t set one.- Тип результата:
Optional[
int]
- property modal: M | None¶
Gets the parent modal associated with this item. This is typically set automatically when the item is added to a modal.
- Результат:
The parent modal of this item, or
Noneif the item is not attached to any modal.- Тип результата:
Optional[
BaseModal]
- property type: ComponentType¶
The underlying component’s type.
- property view: V | None¶
Gets the parent view associated with this item.
The view refers to the structure that holds this item. This is typically set automatically when the item is added to a view.
- Результат:
The parent view of this item, or
Noneif the item is not attached to any view.- Тип результата:
Optional[
BaseView]
- class discord.ui.Thumbnail(url, *, description=None, spoiler=False, id=None)[исходный код]¶
Represents a UI Thumbnail.
Добавлено в версии 2.7.
- Параметры:
url (
str) – The url of the thumbnail. This can either be an arbitrary URL or anattachment://URL to work with local files.description (
str) – The thumbnail’s description, up to 1024 characters.spoiler (
bool) – Whether the thumbnail has the spoiler overlay. Defaults toFalse.id (
int) – The thumbnail’s ID.
- property media: UnfurledMediaItem¶
The thumbnail’s unerlying media item.
- property url: str¶
The URL of this thumbnail’s media. This can either be an arbitrary URL or an
attachment://URL.
- property id: int | None¶
Gets this item’s ID.
This can be set by the user when constructing an Item. If not, Discord will automatically provide one when the item’s parent is sent.
- Результат:
The ID of this item, or
Noneif the user didn’t set one.- Тип результата:
Optional[
int]
- property type: ComponentType¶
The underlying component’s type.
- property view: V | None¶
Gets the parent view associated with this item.
The view refers to the structure that holds this item. This is typically set automatically when the item is added to a view.
- Результат:
The parent view of this item, or
Noneif the item is not attached to any view.- Тип результата:
Optional[
BaseView]
- defadd_item
- defappend_item
- defremove_item
- class discord.ui.MediaGallery(*items, id=None)[исходный код]¶
Represents a UI Media Gallery. Galleries may contain up to 10
MediaGalleryItemobjects.Добавлено в версии 2.7.
- Параметры:
*items (
MediaGalleryItem) – The initial items contained in this gallery, up to 10.
- items¶
The list of media items in this gallery.
- Type:
List[
MediaGalleryItem]
- property items: list[MediaGalleryItem]¶
The list of media items in this gallery.
- append_item(item)[исходный код]¶
Adds a
MediaGalleryItemto the gallery.- Параметры:
item (
MediaGalleryItem) – The gallery item to add to the gallery.- Исключение:
TypeError – A
MediaGalleryItemwas not passed.ValueError – Maximum number of items has been exceeded (10).
- Тип результата:
Self
- add_item(url, *, description=None, spoiler=False)[исходный код]¶
Adds a new media item to the gallery.
- Параметры:
- Исключение:
ValueError – Maximum number of items has been exceeded (10).
- Тип результата:
Self
- remove_item(index)[исходный код]¶
Removes an item from the gallery.
- Параметры:
index (
int) – The index of the item to remove from the gallery.- Тип результата:
Self
- property id: int | None¶
Gets this item’s ID.
This can be set by the user when constructing an Item. If not, Discord will automatically provide one when the item’s parent is sent.
- Результат:
The ID of this item, or
Noneif the user didn’t set one.- Тип результата:
Optional[
int]
- property type: ComponentType¶
The underlying component’s type.
- property view: V | None¶
Gets the parent view associated with this item.
The view refers to the structure that holds this item. This is typically set automatically when the item is added to a view.
- Результат:
The parent view of this item, or
Noneif the item is not attached to any view.- Тип результата:
Optional[
BaseView]
- class discord.ui.File(url, *, spoiler=False, id=None)[исходный код]¶
Represents a UI File.
Примечание
This component does not show media previews. Use
MediaGalleryfor previews instead.Добавлено в версии 2.7.
- Параметры:
- property file: UnfurledMediaItem¶
The file’s unerlying media item.
- property url: str¶
The URL of this file’s underlying media. This must be an
attachment://URL that references aFile.
- property id: int | None¶
Gets this item’s ID.
This can be set by the user when constructing an Item. If not, Discord will automatically provide one when the item’s parent is sent.
- Результат:
The ID of this item, or
Noneif the user didn’t set one.- Тип результата:
Optional[
int]
- property type: ComponentType¶
The underlying component’s type.
- property view: V | None¶
Gets the parent view associated with this item.
The view refers to the structure that holds this item. This is typically set automatically when the item is added to a view.
- Результат:
The parent view of this item, or
Noneif the item is not attached to any view.- Тип результата:
Optional[
BaseView]
- class discord.ui.Separator(*, divider=True, spacing=('small', 1), id=None)[исходный код]¶
Represents a UI Separator.
Добавлено в версии 2.7.
- Параметры:
- property id: int | None¶
Gets this item’s ID.
This can be set by the user when constructing an Item. If not, Discord will automatically provide one when the item’s parent is sent.
- Результат:
The ID of this item, or
Noneif the user didn’t set one.- Тип результата:
Optional[
int]
- property type: ComponentType¶
The underlying component’s type.
- property view: V | None¶
Gets the parent view associated with this item.
The view refers to the structure that holds this item. This is typically set automatically when the item is added to a view.
- Результат:
The parent view of this item, or
Noneif the item is not attached to any view.- Тип результата:
Optional[
BaseView]
- defadd_file
- defadd_gallery
- defadd_item
- defadd_row
- defadd_section
- defadd_separator
- defadd_text
- defcopy_text
- defdisable_all_items
- defenable_all_items
- defget_item
- defremove_item
- class discord.ui.Container(*items, colour=None, color=None, spoiler=False, id=None)[исходный код]¶
Represents a UI Container.
The current items supported are as follows:
Добавлено в версии 2.7.
- Параметры:
- add_item(item)[исходный код]¶
Adds an item to the container.
- remove_item(item)[исходный код]¶
Removes an item from the container. If an int or str is passed, it will remove by Item
idorcustom_idrespectively.
- get_item(id)[исходный код]¶
Get an item from this container. Roughly equivalent to utils.get(container.items, …). If an
intis provided, the item will be retrieved byid, otherwise bycustom_id. This method will also search for nested items.
- add_row(*items, id=None)[исходный код]¶
Adds an
ActionRowto the container.To append a pre-existing
ActionRow, useadd_item()instead.
- add_section(*items, accessory, id=None)[исходный код]¶
Adds a
Sectionto the container.To append a pre-existing
Section, use theadd_item()method, instead.- Параметры:
- Тип результата:
Self
- add_text(content, id=None)[исходный код]¶
Adds a
TextDisplayto the container.
- add_gallery(*items, id=None)[исходный код]¶
Adds a
MediaGalleryto the container.To append a pre-existing
MediaGallery, useadd_item()instead.- Параметры:
*items (
MediaGalleryItem) – The media this gallery contains.
- Тип результата:
Self
- add_file(url, spoiler=False, id=None)[исходный код]¶
Adds a
Fileto the container.
- add_separator(*, divider=True, spacing=('small', 1), id=None)[исходный код]¶
Adds a
Separatorto the container.
- copy_text()[исходный код]¶
Returns the text of all
TextDisplayitems in this container. Equivalent to the Copy Text option on Discord clients.- Тип результата:
- disable_all_items(*, exclusions=None)[исходный код]¶
Disables all buttons and select menus in the container.
- enable_all_items(*, exclusions=None)[исходный код]¶
Enables all buttons and select menus in the container.
- property id: int | None¶
Gets this item’s ID.
This can be set by the user when constructing an Item. If not, Discord will automatically provide one when the item’s parent is sent.
- Результат:
The ID of this item, or
Noneif the user didn’t set one.- Тип результата:
Optional[
int]
- property type: ComponentType¶
The underlying component’s type.
- property view: V | None¶
Gets the parent view associated with this item.
The view refers to the structure that holds this item. This is typically set automatically when the item is added to a view.
- Результат:
The parent view of this item, or
Noneif the item is not attached to any view.- Тип результата:
Optional[
BaseView]
- defadd_item
- asynccallback
- defget_item
- asyncon_error
- asyncon_timeout
- defremove_item
- defstop
- asyncwait
- class discord.ui.BaseModal(*children, title, custom_id=None, timeout=None, store=True)[исходный код]¶
The base class for creating pop-up modals.
Добавлено в версии 2.7.
- Параметры:
- await callback(interaction)[исходный код]¶
This function is a coroutine.
The coroutine that is called when the modal is submitted. Should be overridden to handle the values submitted by the user.
- Параметры:
interaction (
Interaction) – The interaction that submitted the modal.
- add_item(item)[исходный код]¶
Adds a component to the modal.
- Параметры:
item (
ModalItem) – The item to add to the modal- Тип результата:
Self
- remove_item(item)[исходный код]¶
Removes a component from the modal.
- Параметры:
item (
ModalItem) – The item to remove from the modal.- Тип результата:
Self
- stop()[исходный код]¶
Stops listening to interaction events from the modal.
- Тип результата:
- await wait()[исходный код]¶
Waits for the modal to be submitted.
- Тип результата:
- await on_error(error, interaction)[исходный код]¶
This function is a coroutine.
A callback that is called when the modal’s callback fails with an error.
The default implementation prints the traceback to stderr.
- Параметры:
error (
Exception) – The exception that was raised.interaction (
Interaction) – The interaction that led to the failure.
- Тип результата:
- await on_timeout()[исходный код]¶
This function is a coroutine.
A callback that is called when a modal’s timeout elapses without being explicitly stopped.
- Тип результата:
- defadd_item
- asynccallback
- defget_item
- asyncon_error
- asyncon_timeout
- defremove_item
- defstop
- asyncwait
- class discord.ui.Modal(*children, title, custom_id=None, timeout=None, store=True)[исходный код]¶
Represents a legacy UI modal for InputText components.
This object must be inherited to create a UI within Discord.
Добавлено в версии 2.0.
Изменено в версии 2.7: Now inherits from
BaseModal- Параметры:
children (
InputText) – The initial items that are displayed in the modal. Only supportsdiscord.ui.InputText; for newer modal features, seeDesignerModal.title (
str) – The title of the modal. Must be 45 characters or fewer.custom_id (
str|None) – The ID of the modal that gets received during an interaction. Must be 100 characters or fewer.timeout (
float|None) – Timeout in seconds from last interaction with the UI before no longer accepting input. IfNonethen there is no timeout.store (
bool) – Whether this modal should be stored for callback listening. Setting it toFalsewill ignore its callback and prevent item values from being refreshed. Defaults toTrue.
- add_item(item)[исходный код]¶
Adds an InputText component to the modal.
- Параметры:
item (
InputText) – The item to add to the modal- Тип результата:
Self
- remove_item(item)[исходный код]¶
Removes an InputText from the modal.
- Параметры:
item (
InputText) – The item to remove from the modal.- Тип результата:
Self
- await callback(interaction)¶
This function is a coroutine.
The coroutine that is called when the modal is submitted. Should be overridden to handle the values submitted by the user.
- Параметры:
interaction (
Interaction) – The interaction that submitted the modal.
- get_item(custom_id)¶
Gets an item from this structure. Roughly equal to utils.get(self.children, …). If an
intis provided, the item will be retrieved byid, otherwise bycustom_id. This method will also search nested items.
- await on_error(error, interaction)¶
This function is a coroutine.
A callback that is called when the modal’s callback fails with an error.
The default implementation prints the traceback to stderr.
- Параметры:
error (
Exception) – The exception that was raised.interaction (
Interaction) – The interaction that led to the failure.
- Тип результата:
- defadd_item
- asynccallback
- defget_item
- asyncon_error
- asyncon_timeout
- defremove_item
- defstop
- asyncwait
- class discord.ui.DesignerModal(*children, title, custom_id=None, timeout=None, store=True)[исходный код]¶
Represents a UI modal compatible with all modal features.
This object must be inherited to create a UI within Discord.
Добавлено в версии 2.7.
- Параметры:
children (
ModalItem) – The initial items that are displayed in the modal..title (
str) – The title of the modal. Must be 45 characters or fewer.custom_id (
str|None) – The ID of the modal that gets received during an interaction. Must be 100 characters or fewer.timeout (
float|None) – Timeout in seconds from last interaction with the UI before no longer accepting input. IfNonethen there is no timeout.store (
bool) – Whether this modal should be stored for callback listening. Setting it toFalsewill ignore its callback and prevent item values from being refreshed. Defaults toTrue.
- add_item(item)[исходный код]¶
Adds a component to the modal.
- Параметры:
item (
ModalItem) – The item to add to the modal- Тип результата:
Self
- await callback(interaction)¶
This function is a coroutine.
The coroutine that is called when the modal is submitted. Should be overridden to handle the values submitted by the user.
- Параметры:
interaction (
Interaction) – The interaction that submitted the modal.
- get_item(custom_id)¶
Gets an item from this structure. Roughly equal to utils.get(self.children, …). If an
intis provided, the item will be retrieved byid, otherwise bycustom_id. This method will also search nested items.
- await on_error(error, interaction)¶
This function is a coroutine.
A callback that is called when the modal’s callback fails with an error.
The default implementation prints the traceback to stderr.
- Параметры:
error (
Exception) – The exception that was raised.interaction (
Interaction) – The interaction that led to the failure.
- Тип результата:
- await on_timeout()¶
This function is a coroutine.
A callback that is called when a modal’s timeout elapses without being explicitly stopped.
- Тип результата:
- defget_item
- defset_checkbox
- defset_checkbox_group
- defset_file_upload
- defset_input_text
- defset_item
- defset_radio_group
- defset_select
- class discord.ui.Label(label, item=None, *, description=None, id=None)[исходный код]¶
Represents a UI Label used in
discord.ui.DesignerModal.The items currently supported are as follows:
Добавлено в версии 2.7.
- Параметры:
- property modal: M | None¶
Gets the parent modal associated with this item. This is typically set automatically when the item is added to a modal.
- Результат:
The parent modal of this item, or
Noneif the item is not attached to any modal.- Тип результата:
Optional[
BaseModal]
- set_item(item)[исходный код]¶
Set this label’s item.
- get_item(id)[исходный код]¶
Get the item from this label if it matches the provided id. If an
intis provided, the item will match byid, otherwise bycustom_id.
- set_input_text(*, style=('short', 1), custom_id=None, placeholder=None, min_length=None, max_length=None, required=True, value=None, id=None)[исходный код]¶
Set this label’s item to an input text.
To set a pre-existing
InputText, use theset_item()method, instead.- Параметры:
style (
InputTextStyle) – The style of the input text field.custom_id (
str|None) – The ID of the input text field that gets received during an interaction.placeholder (
str|None) – The placeholder text that is shown if nothing is selected, if any. Must be 100 characters or fewer.min_length (
int|None) – The minimum number of characters that must be entered. Defaults to 0 and must be less than 4000.max_length (
int|None) – The maximum number of characters that can be entered. Must be between 1 and 4000.required (
bool|None) – Whether the input text field is required or not. Defaults toTrue.value (
str|None) – Pre-fills the input text field with this value. Must be 4000 characters or fewer.
- Тип результата:
Self
- set_select(select_type=('string_select', 3), *, custom_id=None, placeholder=None, min_values=1, max_values=1, options=None, channel_types=None, required=True, id=None, default_values=None)[исходный код]¶
Set this label’s item to a select menu.
- Параметры:
select_type (
ComponentType) – The type of select to create. Must be one ofdiscord.ComponentType.string_select,discord.ComponentType.user_select,discord.ComponentType.role_select,discord.ComponentType.mentionable_select, ordiscord.ComponentType.channel_select.custom_id (
str|None) – The custom ID of the select menu that gets received during an interaction. If not given then one is generated for you.placeholder (
str|None) – The placeholder text that is shown if nothing is selected, if any.min_values (
int) – The minimum number of items that must be chosen for this select menu. Defaults to 1 and must be between 1 and 25.max_values (
int) – The maximum number of items that must be chosen for this select menu. Defaults to 1 and must be between 1 and 25.options (
list[SelectOption] |None) – A list of options that can be selected in this menu. Only valid for selects of typediscord.ComponentType.string_select.channel_types (
list[ChannelType] |None) – A list of channel types that can be selected in this menu. Only valid for selects of typediscord.ComponentType.channel_select.required (
bool) – Whether the select is required or not. Defaults toTrue.default_values (
Sequence[SelectDefaultValue] |None) –The default values of this select. Only applicable if
select_typeis notdiscord.ComponentType.string_select.These can be either
discord.SelectDefaultValueinstances or models, which will be converted intodiscord.SelectDefaultValueinstances.
- Тип результата:
Self
- set_file_upload(*, custom_id=None, min_values=None, max_values=None, required=True, id=None)[исходный код]¶
Set this label’s item to a file upload.
To set a pre-existing
FileUpload, use theset_item()method, instead.- Параметры:
custom_id (
str|None) – The ID of the input text field that gets received during an interaction.min_values (
int|None) – The minimum number of files that must be uploaded. Defaults to 0 and must be between 0 and 10, inclusive.max_values (
int|None) – The maximum number of files that can be uploaded. Must be between 1 and 10, inclusive.required (
bool|None) – Whether the file upload field is required or not. Defaults toTrue.
- Тип результата:
Self
- set_radio_group(*, custom_id=None, options=None, required=True, id=None)[исходный код]¶
Set this label’s item to a radio group.
To set a pre-existing
RadioGroup, use theset_item()method, instead.- Параметры:
- Тип результата:
Self
- set_checkbox_group(*, custom_id=None, options=None, min_values=None, max_values=None, required=True, id=None)[исходный код]¶
Set this label’s item to a checkbox group.
To set a pre-existing
CheckboxGroup, use theset_item()method, instead.- Параметры:
custom_id (
str|None) – The ID of the checkbox group that gets received during an interaction.options (
list[CheckboxGroupOption] |None) – A list of options that can be selected in this group.min_values (
int|None) – The minimum number of options that must be selected. Defaults to 0 and must be between 0 and 10, inclusive.max_values (
int|None) – The maximum number of options that can be selected. Must be between 1 and 10, inclusive.required (
bool|None) – Whether an option selection is required or not. Defaults toTrue.
- Тип результата:
Self
- set_checkbox(*, custom_id=None, default=False, id=None)[исходный код]¶
Set this label’s item to a checkbox.
To set a pre-existing
Checkbox, use theset_item()method, instead.
- property id: int | None¶
Gets this item’s ID.
This can be set by the user when constructing an Item. If not, Discord will automatically provide one when the item’s parent is sent.
- Результат:
The ID of this item, or
Noneif the user didn’t set one.- Тип результата:
Optional[
int]
- property type: ComponentType¶
The underlying component’s type.
- class discord.ui.InputText(*, style=('short', 1), custom_id=None, label=None, placeholder=None, min_length=None, max_length=None, required=True, value=None, row=None, id=None)[исходный код]¶
Represents a UI text input field.
Добавлено в версии 2.0.
- Параметры:
style (
InputTextStyle) – The style of the input text field.custom_id (
str|None) – The ID of the input text field that gets received during an interaction.label (
str|None) – The label for the input text field. Must be 45 characters or fewer.placeholder (
str|None) – The placeholder text that is shown if nothing is selected, if any. Must be 100 characters or fewer.min_length (
int|None) – The minimum number of characters that must be entered. Defaults to 0 and must be less than 4000.max_length (
int|None) – The maximum number of characters that can be entered. Must be between 1 and 4000.required (
bool|None) – Whether the input text field is required or not. Defaults toTrue.value (
str|None) – Pre-fills the input text field with this value. Must be 4000 characters or fewer.row (
int|None) – The relative row this input text field belongs to. A modal dialog can only have 5 rows. By default, items are arranged automatically into those 5 rows. If you’d like to control the relative positioning of the row then passing an index is advised. For example, row=1 will show up before row=2. Defaults toNone, which is automatic ordering. The row number must be between 0 and 4 (i.e. zero indexed).
- property style: InputTextStyle¶
The style of the input text field.
- property placeholder: str | None¶
The placeholder text that is shown before anything is entered, if any.
- property min_length: int | None¶
The minimum number of characters that must be entered. Defaults to 0.
- property id: int | None¶
Gets this item’s ID.
This can be set by the user when constructing an Item. If not, Discord will automatically provide one when the item’s parent is sent.
- Результат:
The ID of this item, or
Noneif the user didn’t set one.- Тип результата:
Optional[
int]
- property modal: M | None¶
Gets the parent modal associated with this item. This is typically set automatically when the item is added to a modal.
- Результат:
The parent modal of this item, or
Noneif the item is not attached to any modal.- Тип результата:
Optional[
BaseModal]
- property type: ComponentType¶
The underlying component’s type.
- class discord.ui.FileUpload(*, custom_id=None, min_values=None, max_values=None, required=True, id=None)[исходный код]¶
Represents a UI File Upload component.
Добавлено в версии 2.7.
- Параметры:
custom_id (
str|None) – The ID of the file upload field that gets received during an interaction.min_values (
int|None) – The minimum number of files that must be uploaded. Defaults to 0 and must be between 0 and 10, inclusive.max_values (
int|None) – The maximum number of files that can be uploaded. Must be between 1 and 10, inclusive.required (
bool) – Whether the file upload field is required or not. Defaults toTrue.
- property id: int | None¶
Gets this item’s ID.
This can be set by the user when constructing an Item. If not, Discord will automatically provide one when the item’s parent is sent.
- Результат:
The ID of this item, or
Noneif the user didn’t set one.- Тип результата:
Optional[
int]
- property modal: M | None¶
Gets the parent modal associated with this item. This is typically set automatically when the item is added to a modal.
- Результат:
The parent modal of this item, or
Noneif the item is not attached to any modal.- Тип результата:
Optional[
BaseModal]
- property type: ComponentType¶
The underlying component’s type.
- property values: list[Attachment] | None¶
The files that were uploaded to the field. This will be
Noneif the file upload has not been submitted via a modal yet.
- defadd_option
- defappend_option
- defclear_options
- class discord.ui.RadioGroup(*, custom_id=None, options=None, required=True, id=None)[исходный код]¶
Represents a UI Radio Group component.
Добавлено в версии 2.8.
- options¶
A list of options that can be selected from this group. Must provide between 2 and 10 options.
- Type:
List[
discord.RadioGroupOption]
- Параметры:
- property value: str | None¶
The value selected by the user. May return
Noneif this radio group is optional or has not been sent yet.
- property options: list[RadioGroupOption]¶
A list of options that can be selected in this group.
- add_option(*, label, value=..., description=None, default=False)[исходный код]¶
Adds an option to the radio group.
To append a pre-existing
discord.RadioGroupOptionuse theappend_option()method instead.- Параметры:
label (
str) – The label of the option. This is displayed to users. Can only be up to 100 characters.value (
str) – The value of the option. This is not displayed to users. If not given, defaults to the label. Can only be up to 100 characters.description (
str|None) – An additional description of the option, if any. Can only be up to 100 characters.default (
bool) – Whether this option is selected by default.
- Исключение:
ValueError – The number of options exceeds 10.
- Тип результата:
Self
- append_option(option)[исходный код]¶
Appends an option to the radio group.
- Параметры:
option (
RadioGroupOption) – The option to append to the radio group.- Исключение:
ValueError – The number of options exceeds 10.
- Тип результата:
Self
- clear_options()[исходный код]¶
Remove all options from the radio group.
- Тип результата:
Self
- property id: int | None¶
Gets this item’s ID.
This can be set by the user when constructing an Item. If not, Discord will automatically provide one when the item’s parent is sent.
- Результат:
The ID of this item, or
Noneif the user didn’t set one.- Тип результата:
Optional[
int]
- property modal: M | None¶
Gets the parent modal associated with this item. This is typically set automatically when the item is added to a modal.
- Результат:
The parent modal of this item, or
Noneif the item is not attached to any modal.- Тип результата:
Optional[
BaseModal]
- property type: ComponentType¶
The underlying component’s type.
- defadd_option
- defappend_option
- defclear_options
- class discord.ui.CheckboxGroup(*, custom_id=None, options=None, min_values=None, max_values=None, required=True, id=None)[исходный код]¶
Represents a UI Checkbox Group component.
Добавлено в версии 2.8.
- Параметры:
custom_id (
str|None) – The ID of the checkbox group that gets received during an interaction.options (
list[CheckboxGroupOption] |None) – A list of options that can be selected in this group.min_values (
int|None) – The minimum number of options that must be selected. Defaults to 0 and must be between 0 and 10, inclusive.max_values (
int|None) – The maximum number of options that can be selected. Must be between 1 and 10, inclusive.required (
bool) – Whether an option selection is required or not. Defaults toTrue.
- property values: list[str] | None¶
The values selected by the user. This will be
Noneif the checkbox group has not been submitted in a modal yet.
- property options: list[CheckboxGroupOption]¶
A list of options that can be selected in this group.
- add_option(*, label, value=..., description=None, default=False)[исходный код]¶
Adds an option to the checkbox group.
To append a pre-existing
discord.CheckboxGroupOptionuse theappend_option()method instead.- Параметры:
label (
str) – The label of the option. This is displayed to users. Can only be up to 100 characters.value (
str) – The value of the option. This is not displayed to users. If not given, defaults to the label. Can only be up to 100 characters.description (
str|None) – An additional description of the option, if any. Can only be up to 100 characters.default (
bool) – Whether this option is selected by default.
- Исключение:
ValueError – The number of options exceeds 10.
- Тип результата:
Self
- property id: int | None¶
Gets this item’s ID.
This can be set by the user when constructing an Item. If not, Discord will automatically provide one when the item’s parent is sent.
- Результат:
The ID of this item, or
Noneif the user didn’t set one.- Тип результата:
Optional[
int]
- property modal: M | None¶
Gets the parent modal associated with this item. This is typically set automatically when the item is added to a modal.
- Результат:
The parent modal of this item, or
Noneif the item is not attached to any modal.- Тип результата:
Optional[
BaseModal]
- property type: ComponentType¶
The underlying component’s type.
- append_option(option)[исходный код]¶
Appends an option to the checkbox group.
- Параметры:
option (
CheckboxGroupOption) – The option to append to the checkbox group.- Исключение:
ValueError – The number of options exceeds 10.
- Тип результата:
Self
- clear_options()[исходный код]¶
Remove all options from the checkbox group.
- Тип результата:
Self
- class discord.ui.Checkbox(*, custom_id=None, default=False, id=None)[исходный код]¶
Represents a UI Checkbox component.
Добавлено в версии 2.8.
- Параметры:
- property value: bool | None¶
Whether this checkbox was selected or not by the user. This will be
Noneif the checkbox has not been submitted via a modal yet.
- property id: int | None¶
Gets this item’s ID.
This can be set by the user when constructing an Item. If not, Discord will automatically provide one when the item’s parent is sent.
- Результат:
The ID of this item, or
Noneif the user didn’t set one.- Тип результата:
Optional[
int]
- property modal: M | None¶
Gets the parent modal associated with this item. This is typically set automatically when the item is added to a modal.
- Результат:
The parent modal of this item, or
Noneif the item is not attached to any modal.- Тип результата:
Optional[
BaseModal]
- property type: ComponentType¶
The underlying component’s type.