DropMenus#
SDropMenu#
after_resp: Optional[Dict]
property
#
It's a property used to get all options which are to be changed after option (on-select) of the DropMenu
Returns:
Name | Type | Description |
---|---|---|
UpdatedOptions |
Optional[Dict]
|
Dict if there is a query defined or else returns None |
args: Dict
property
#
It's a property used to get kwargs of the DropMenu
- Aliases: ['args', 'kwargs']
Returns:
Name | Type | Description |
---|---|---|
Options |
Dict
|
Dictionary of options of a Button |
author: Optional[discord.Member]
property
#
It's a property used to get author of the DropMenu
Returns:
Name | Type | Description |
---|---|---|
author |
Optional[discord.Member]
|
returns a user obj if one exists |
hidden: bool
property
#
It's a property used to get hidden parm of the DropMenu
Returns:
Name | Type | Description |
---|---|---|
hidden |
bool
|
id: Optional[str]
property
#
It's a property used to get ID of the DropMenu
Returns:
Name | Type | Description |
---|---|---|
custom_id |
Optional[str]
|
DropMenu ID |
is_ephemeral: bool
property
#
It's a property used to check whether it's ephemeral or not
Returns:
Name | Type | Description |
---|---|---|
ephemeral |
bool
|
true, if the dropmenu response type is ephemeral or else false |
placeholder: Optional[str]
property
#
It's a property used to get placeholder of the DropMenu
Returns:
Name | Type | Description |
---|---|---|
placeholder |
Optional[str]
|
returns value of placeholder |
queries: Optional[List]
property
#
It's a property used to get all queries of the DropMenu
Returns:
Name | Type | Description |
---|---|---|
queries |
Optional[List]
|
List (or) None |
__init__(*, custom_id=None, placeholder=None, min_values=1, max_values=1, options=None, disabled=False, row=None, content=None, response=None, rewrite=False, ephemeral=False, hidden=False, author=None, verify=True)
#
It is a decorator used to create a DropMenu overwriting ui.Select
Parameters:
Name | Type | Description | Default |
---|---|---|---|
custom_id |
str
|
Unique ID of the Button |
None
|
placeholder |
Optional[str]
|
A short placeholder for DropMenu |
None
|
min_values |
int
|
Limiting the user to select atleast minimum options in DropMenu |
1
|
max_values |
int
|
Limiting the user to select atmost maximum options in DropMenu |
1
|
options |
List[SelectOption]
|
Options which are shown in DropMenu and can be selected by interacted user |
None
|
disabled |
bool
|
It is used to enable/disable the DropMenu, i.e. Preventing user from using it |
False
|
row |
Optional[int]
|
Places the DropMenu in given Row |
None
|
content |
Optional[str]
|
content of the message |
None
|
response |
Optional[Union[str, discord.Embed]]
|
Sends the message (str, embed) in user channel |
None
|
rewrite |
bool
|
It is used to send the message by editing the original message rather than sending a new one |
False
|
ephemeral |
bool
|
It is used to send the message where it's only visible to interacted user or to all |
False
|
hidden |
bool
|
It hides the Button from View |
False
|
author |
discord.Member
|
Interaction User |
None
|
verify |
bool
|
It is used to make the func to check for author parameter or not |
True
|
add_coro_func(function, *args, **kwargs)
async
#
It's an asynchronous function which stores same function type and adds the func to DropMenu for execution after getting an option selected
Parameters:
Name | Type | Description | Default |
---|---|---|---|
function |
Callable
|
takes asynchronous function |
required |
*args |
Any
|
takes args of the function provided by a user |
()
|
**kwargs |
Any
|
takes kwargs of the function provided by a user |
{}
|
add_func(function, *args, **kwargs)
#
It's a function which stores same function type and adds the func to DropMenu for execution after getting an option selected
Parameters:
Name | Type | Description | Default |
---|---|---|---|
function |
Callable
|
takes a function |
required |
*args |
Any
|
takes args of the function provided by a user |
()
|
**kwargs |
Any
|
takes kwargs of the function provided by a user |
{}
|
add_queries(*queries)
#
It's an event type function used to add queries for the DropMenu
Here the queries (option-name(s)) will be mapped with one response
Parameters:
Name | Type | Description | Default |
---|---|---|---|
*queries |
Tuple[List[str], Union[str, discord.Embed]]
|
takes list of option-name(s) and response |
()
|
add_query(*query)
#
It's an event type function used to add queries for the DropMenu
Here the query (option-name) will be mapped with one response
Parameters:
Name | Type | Description | Default |
---|---|---|---|
*query |
Tuple[str, Union[str, discord.Embed]]
|
takes option-name and response |
()
|
after_response(**options)
#
It's an event type function which changes the provided options after option (on-select) of the DropMenu
Parameters:
Name | Type | Description | Default |
---|---|---|---|
**options |
Any
|
takes dropmenu options |
{}
|
Raises:
Type | Description |
---|---|
MenuException
|
raises the exception if the option is invalid |
convert_resp(content, values)
staticmethod
#
It's not a reusable function
Used for formatting the provided content with respective values
Parameters:
Name | Type | Description | Default |
---|---|---|---|
content |
str
|
takes content/ message |
required |
values |
List
|
selected values of the DropMenu |
required |
Raises:
Type | Description |
---|---|
MenuException
|
raises the exception if the option is invalid |
has_any_role(*roles, error_msg=None)
#
It's used to check whether the interaction user has any one of the mentioned roles of interaction guild
Parameters:
Name | Type | Description | Default |
---|---|---|---|
*roles |
Union[int, str]
|
Takes either ID's or Name's of the roles of interaction guild |
()
|
error_msg |
Union[str, discord.Embed]
|
Sends a message to the user (Interaction.User) if the condition not satisfies |
None
|
has_permissions(*, error_msg=None, **perms)
#
It's used to check whether the interaction user has the mentioned permissions of the interaction guild/ channel
Parameters:
Name | Type | Description | Default |
---|---|---|---|
error_msg |
Union[str, discord.Embed]
|
Sends a message to the interaction user if the condition not satisfies |
None
|
**perms |
Dict[str, bool]
|
Takes the permissions flags (discord.Permissions.VALID_FLAGS) |
{}
|
has_roles(*roles, error_msg=None)
#
It's used to check whether the interaction user has the mentioned roles of interaction guild
Parameters:
Name | Type | Description | Default |
---|---|---|---|
*roles |
Union[int, str]
|
Takes either ID's or Name's of the roles of interaction guild |
()
|
error_msg |
Union[str, discord.Embed]
|
Sends a message to the user (Interaction.User) if the condition not satisfies |
None
|
is_any_user(*users, error_msg=None)
#
It's used to check whether the interaction user is in mentioned users or not
Parameters:
Name | Type | Description | Default |
---|---|---|---|
*users |
Union[str, int]
|
Takes either ID's or Name's of the members of interaction guild |
()
|
error_msg |
Union[str, discord.Embed]
|
Sends a message to the interaction user if the condition not satisfies |
None
|
is_author(error_msg=None)
#
It's used to check whether the interaction user and SButton.author are same or not
Parameters:
Name | Type | Description | Default |
---|---|---|---|
error_msg |
Union[str, discord.Embed]
|
Sends a message to the interaction user if the condition not satisfies |
None
|
is_owner(error_msg=None)
#
It's used to check whether the interaction user is the owner of interaction guild
Parameters:
Name | Type | Description | Default |
---|---|---|---|
error_msg |
Union[str, discord.Embed]
|
Sends a message to the user (Interaction.User) if the condition not satisfies |
None
|
update(**options)
#
Updates the options of the SDropMenu
Parameters:
Name | Type | Description | Default |
---|---|---|---|
**options |
Any
|
takes SDropMenu options |
{}
|
Raises:
Type | Description |
---|---|
MenuException
|
raises the exception if the option is invalid |
update_one(details, option)
#
Updates the option of the SDropMenu
Parameters:
Name | Type | Description | Default |
---|---|---|---|
details |
Any
|
Takes any datatype for updating |
required |
option |
str
|
The option which should be overwritten |
required |
Raises:
Type | Description |
---|---|
MenuException
|
raises the exception if the option is invalid |
Types of DropMenus#
DuoDropMenu
#
MultiDropMenu
#
__init__(author, menus, /, timeout=DEFAULT_TIMEOUT)
#
Responsive Multi DropMenus
Parameters:
Name | Type | Description | Default |
---|---|---|---|
author |
discord.Member
|
Interaction User |
required |
menus |
List[SDropMenu]
|
takes List of dropmenu type SDropMenu |
required |
timeout |
Optional[float]
|
Interaction Timeout |
DEFAULT_TIMEOUT
|
view()
#
Returns:
Name | Type | Description |
---|---|---|
view |
ui.View
|
discord.ui.View |
QuartetDropMenu
#
__init__(author, drop_menu1, drop_menu2, drop_menu3, drop_menu4, /, timeout=DEFAULT_TIMEOUT)
#
Responsive DropMenus
Parameters:
Name | Type | Description | Default |
---|---|---|---|
author |
discord.Member
|
Interaction User |
required |
drop_menu1 |
SDropMenu
|
takes dropmenu type SDropMenu |
required |
drop_menu2 |
SDropMenu
|
takes dropmenu type SDropMenu |
required |
drop_menu3 |
SDropMenu
|
takes dropmenu type SDropMenu |
required |
drop_menu4 |
SDropMenu
|
takes dropmenu type SDropMenu |
required |
timeout |
Optional[float]
|
Interaction Timeout |
DEFAULT_TIMEOUT
|
view()
#
Returns:
Name | Type | Description |
---|---|---|
view |
ui.View
|
discord.ui.View |
QuintetDropMenu
#
__init__(author, drop_menu1, drop_menu2, drop_menu3, drop_menu4, drop_menu5, /, timeout=DEFAULT_TIMEOUT)
#
Responsive DropMenus
Parameters:
Name | Type | Description | Default |
---|---|---|---|
author |
discord.Member
|
Interaction User |
required |
drop_menu1 |
SDropMenu
|
takes dropmenu type SDropMenu |
required |
drop_menu2 |
SDropMenu
|
takes dropmenu type SDropMenu |
required |
drop_menu3 |
SDropMenu
|
takes dropmenu type SDropMenu |
required |
drop_menu4 |
SDropMenu
|
takes dropmenu type SDropMenu |
required |
drop_menu5 |
SDropMenu
|
takes dropmenu type SDropMenu |
required |
timeout |
Optional[float]
|
Interaction Timeout |
DEFAULT_TIMEOUT
|
view()
#
Returns:
Name | Type | Description |
---|---|---|
view |
ui.View
|
discord.ui.View |
SingleDropMenu
#
__init__(author, drop_menu1, /, timeout=DEFAULT_TIMEOUT)
#
Responsive DropMenu
Parameters:
Name | Type | Description | Default |
---|---|---|---|
author |
discord.Member
|
Interaction User |
required |
drop_menu1 |
SDropMenu
|
Takes dropmenu type SDropMenu |
required |
timeout |
Optional[float]
|
Interaction Timeout |
DEFAULT_TIMEOUT
|
view()
#
Returns:
Name | Type | Description |
---|---|---|
view |
ui.View
|
discord.ui.View |
TrioDropMenu
#
__init__(author, drop_menu1, drop_menu2, drop_menu3, /, timeout=DEFAULT_TIMEOUT)
#
Responsive DropMenus
Parameters:
Name | Type | Description | Default |
---|---|---|---|
author |
discord.Member
|
Interaction User |
required |
drop_menu1 |
SDropMenu
|
takes dropmenu type SDropMenu |
required |
drop_menu2 |
SDropMenu
|
takes dropmenu type SDropMenu |
required |
drop_menu3 |
SDropMenu
|
takes dropmenu type SDropMenu |
required |
timeout |
Optional[float]
|
Interaction Timeout |
DEFAULT_TIMEOUT
|
view()
#
Returns:
Name | Type | Description |
---|---|---|
view |
ui.View
|
discord.ui.View |