mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-04-18 23:15:48 +00:00
[commands] Add support for autocomplete for hybrid commands
This commit is contained in:
parent
52fcaed79b
commit
d61561f2e8
@ -52,7 +52,11 @@ if TYPE_CHECKING:
|
||||
from .bot import Bot
|
||||
from .context import Context
|
||||
from .parameters import Parameter
|
||||
from discord.app_commands.commands import Check as AppCommandCheck
|
||||
from discord.app_commands.commands import (
|
||||
Check as AppCommandCheck,
|
||||
AutocompleteCallback,
|
||||
ChoiceT,
|
||||
)
|
||||
|
||||
|
||||
__all__ = (
|
||||
@ -282,6 +286,34 @@ class HybridCommand(Command[CogT, P, T]):
|
||||
copy.app_command = self.app_command.copy()
|
||||
return copy
|
||||
|
||||
def autocomplete(
|
||||
self, name: str
|
||||
) -> Callable[[AutocompleteCallback[CogT, ChoiceT]], AutocompleteCallback[CogT, ChoiceT]]:
|
||||
"""A decorator that registers a coroutine as an autocomplete prompt for a parameter.
|
||||
|
||||
This is the same as :meth:`~discord.app_commands.Command.autocomplete`. It is only
|
||||
applicable for the application command and doesn't do anything if the command is
|
||||
a regular command.
|
||||
|
||||
.. note::
|
||||
|
||||
Similar to the :meth:`~discord.app_commands.Command.autocomplete` method, this
|
||||
takes :class:`~discord.Interaction` as a parameter rather than a :class:`Context`.
|
||||
|
||||
Parameters
|
||||
-----------
|
||||
name: :class:`str`
|
||||
The parameter name to register as autocomplete.
|
||||
|
||||
Raises
|
||||
-------
|
||||
TypeError
|
||||
The coroutine passed is not actually a coroutine or
|
||||
the parameter is not found or of an invalid type.
|
||||
"""
|
||||
return self.app_command.autocomplete(name)
|
||||
|
||||
|
||||
class HybridGroup(Group[CogT, P, T]):
|
||||
r"""A class that is both an application command group and a regular text group.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user