[commands] Allow @ prefixed usernames in DM contexts for UserConverter
Previously the argument '@user#0000' return None. To fix this, as this is a common user error, an extra check was added to remove the first character from the argument if this is an '@'. Discord names may not contain an '@' anyways.
This commit is contained in:
parent
4cf02c9461
commit
ee6f4e85d6
@ -157,7 +157,13 @@ class UserConverter(IDConverter):
|
|||||||
result = ctx.bot.get_user(user_id) or _utils_get(ctx.message.mentions, id=user_id)
|
result = ctx.bot.get_user(user_id) or _utils_get(ctx.message.mentions, id=user_id)
|
||||||
else:
|
else:
|
||||||
arg = argument
|
arg = argument
|
||||||
# check for discriminator if it exists
|
|
||||||
|
# Remove the '@' character if this is the first character from the argument
|
||||||
|
if arg[0] == '@':
|
||||||
|
# Remove first character
|
||||||
|
arg = arg[1:]
|
||||||
|
|
||||||
|
# check for discriminator if it exists,
|
||||||
if len(arg) > 5 and arg[-5] == '#':
|
if len(arg) > 5 and arg[-5] == '#':
|
||||||
discrim = arg[-4:]
|
discrim = arg[-4:]
|
||||||
name = arg[:-5]
|
name = arg[:-5]
|
||||||
@ -173,7 +179,6 @@ class UserConverter(IDConverter):
|
|||||||
raise BadArgument('User "{}" not found'.format(argument))
|
raise BadArgument('User "{}" not found'.format(argument))
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
class MessageConverter(Converter):
|
class MessageConverter(Converter):
|
||||||
"""Converts to a :class:`discord.Message`.
|
"""Converts to a :class:`discord.Message`.
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user