Allow empty iterables as a command_prefix

This commit is contained in:
Jonah Lawrence 2022-03-30 18:07:44 -06:00 committed by GitHub
parent b1fb5ed3d7
commit caac97c0d1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1081,6 +1081,7 @@ class BotBase(GroupMixin[None]):
listening for.
"""
prefix = ret = self.command_prefix
if callable(prefix):
# self will be a Bot or AutoShardedBot
ret = await discord.utils.maybe_coroutine(prefix, self, message) # type: ignore
@ -1099,9 +1100,6 @@ class BotBase(GroupMixin[None]):
f"returning either of these, not {ret.__class__.__name__}"
)
if not ret:
raise ValueError("Iterable command_prefix must contain at least one prefix")
return ret
@overload
@ -1312,8 +1310,7 @@ class Bot(BotBase, discord.Client):
The command prefix could also be an iterable of strings indicating that
multiple checks for the prefix should be used and the first one to
match will be the invocation prefix. You can get this prefix via
:attr:`.Context.prefix`. To avoid confusion empty iterables are not
allowed.
:attr:`.Context.prefix`.
.. note::