В моем боре разногласий у меня есть 2 команды, которые дают и создают роли. Они отлично работают, но если имя роли содержит пробел, у меня есть проблема. Он подсчитывает второе слово по отношению ко второму аргументу, заставляя команду выдавать ошибку.
# Giverole
@client.command(name='giverole',
aliases=['gr'],
brief='Assgins role to a user',
pass_ctx=True)
async def giverole(ctx, rname, *, member: discord.Member):
role = get(member.guild.roles, name=rname)
await member.add_roles(role)
await ctx.send(f'Role added to user {member.mention}')
print('Giverole command executed\n- - -')
# Createrole
@client.command(name='createrole',
brief='Creates a role',
aliases=['cr','makerole'],
pass_ctx=True)
async def createrole(ctx, rname: str, clr: discord.Colour):
if ctx.author.guild_permissions.manage_roles:
await ctx.guild.create_role(name=rname, colour=clr)
await ctx.send('Role created with name: ' + rname)
print('Createrole command executed\n- - -')
else:
await ctx.send('You lack permission.')
print('Createrole command executed\n- - -')
В идеале я должен быть в состоянии сделать что-то вроде k!giverole Bot Tester @user
, но вместо этого я получаю ошибку "Недопустимый пользователь". Можно ли как-то поддержать пробелы в названии роли? Заранее спасибо!