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 #

__init__(author, drop_menu1, drop_menu2, /, 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
timeout Optional[float]

Interaction Timeout

DEFAULT_TIMEOUT

view() #

Returns:

Name Type Description
view ui.View

discord.ui.View

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