Несколько слов в аргументе и .upper () - PullRequest
0 голосов
/ 06 августа 2020

Рассматриваемый код:

@bot.command()
async def plugins(ctx, *args):

    arg = arg.upper()
    if arg == 'LIST':
        embed = discord.Embed()
        embed.set_author(name='Chicken Bot', icon_url=image_url)
        embed.add_field(name='Plugins List', value= '**Server 1**\n Admin Toolbox\n Common Utilities\n PFE\n Chopper Drop\n UAFK\n \n **Server 2**\n Admin Toolbox\n Common Utilities\n PFE\n Chopper Drop\n Ultimate AFK\n Buddy\n SCP Swap\n Tranq Gun\n Stalky 106\n Better 939\n SCP 575\n Better Sinkholes\n \n Do c!plugins (Plugin Name) for more info!')
        await ctx.send(embed = embed)

Я хотел бы сделать так, чтобы я мог иметь несколько слов в аргументе И автоматически переводить эти слова в верхний регистр. Как бы это сделать, если я не могу поставить *args = *args.upper().

Помощь приветствуется!

1 Ответ

0 голосов
/ 06 августа 2020

Вы можете сделать list(map(lambda a: a.upper(), args))

Вот полный пример:

def toUpper(*args):
    upper = list(map(lambda a: a.upper(), args))
    return upper

print(toUpper("hello", "there"))

По сути, когда вы хотите args в качестве списка, не используйте звездочку.

...