如何仅对单选做出反应自动角色

时间:2020-09-16 21:40:34

标签: python discord.py

我创建了一个自动角色,可以选择很多角色,但是用户可以选择多个角色。有没有办法将其仅用于单一选择?

在这段代码中,我只是将其设置为2,但我却喜欢其中的10个。

@commands.Cog.listener()
async def on_raw_reaction_add(self, payload):
    guild = discord.utils.get(self.client.guilds, name='Test')
    channel = self.client.get_channel(222222222)
    message = await channel.fetch_message(11111111111)
    assassin = discord.utils.get(guild.roles, name='sniper')
    rogue = discord.utils.get(guild.roles, name='medic')

    if payload.message_id == 1111111111:
        if str(payload.emoji) == "☠":
            await payload.member.add_roles(sniper)
            await message.remove_reaction("☠", payload.member)
            return

        if str(payload.emoji) == "?":
            await payload.member.add_roles(medic)
            await message.remove_reaction("?", payload.member)
            return

1 个答案:

答案 0 :(得分:0)

您将需要跟踪赋予用户的角色,并在他们选择其他角色时将其删除,或者在分配所选角色之前删除用户可能拥有的所有可能角色。