How to make a command case insensitive in discord.py
14,881
Solution 1
On the rewrite branch, commands.Bot
accepts a case_insensitive
parameter
bot = commands.Bot(command_prefix='!', case_insensitive=True)
Note that there is a performance loss when using this feature.
Solution 2
I am not personally familiar with discord.py, and may be wrong about this.
It looks to me like case-insensitivity is not a feature of discord.py and will not become one in the future, according to this Github thread. And I quote:
I won't add this natively. However in the rewrite supporting this is simple from the user end:
async def on_message(self, message):
ctx = await self.get_context(message)
if ctx.prefix is not None:
ctx.command = self.commands.get(ctx.invoked_with.lower())
await self.invoke(ctx)
So it looks to me like you can just provide your own on_message
as above, and you should be good to go.
Comments
-
Dextication almost 2 years
How would one make a command case-insensitive without adding many aliases for different capitalizations like this:
@bot.command(pass_context = True, name = 'test', aliases=['Test', 'tEst', 'teSt', 'tesT', 'TEst', 'TeSt', 'TesT', 'tESt', 'tEsT']) async def test(self, ctx): #do stuff
-
Kingslayer47 over 3 yearsdo you need to import any other module for this to work cause it ain't working?
-
Mike - SMT over 2 yearshow much of a performance lose?