将加法添加到if语句中

时间:2018-12-22 21:33:18

标签: python discord.py

我正在尝试在if语句中创建bot.add_role()行,但是它似乎无法正常工作。

这使用的是Discord.py Python版本3.6.6,我试图将使用的内容从bot.add_role(discord.Object(id='526141719159373865'))更改为bot.add_role(maleRole),但这无济于事(第49行- 66)

@bot.command(pass_context = True)
async def gender(ctx, *args):
    gender = ' '.join(args) 

#Checks if variable 'gender' == 'Male'

    if gender == 'Male':

#Deletes message and adds role

        await bot.delete_message(ctx.message)
        return await bot.add_roles(maleRole)
    if gender == 'Female':
        await bot.delete_message(ctx.message)
        await bot.add_roles(femaleRole)
    if gender == 'Boy':
        await bot.delete_message(ctx.message)
        await bot.add_roles(maleRole)
    if gender == 'Girl':
        await bot.delete_message(ctx.message)
        await bot.add_roles(femaleRole)

#If 'gender' doesn't have an expected input.

    else:

#Deletes message and says to enter valid gender.

        await bot.delete_message(ctx.message)
        await bot.say('Please select a valid gender! (`Male` or `Female`)')

我希望它在-gender之后接受输入,并与每个if语句进行比较,如果相同。它会运行里面的东西。是的。删除消息。但是,没有添加角色,而是显示了此错误消息(http://thedudeinthecorner.xyz/files/ZcDuU.png

1 个答案:

答案 0 :(得分:1)

您需要告诉您的机器人您想将角色授予谁:

await bot.add_roles(ctx.message.author, maleRole)

请参见documentation for Client.add_roles