提问者:小点点

Discord.py移除角色


我正在尝试一个不和谐的机器人删除角色“新”。到目前为止,它不起作用。有人能告诉我为什么,什么是正确的吗?

@client.command(pass_context=True)
async def remove(ctx):
    rid = discord.utils.get(ctx.message.server.roles, name="new")
    await ctx.delete_role(ctx.message.server, rid)
    await ctx.say("hi")

有什么想法吗?


共1个答案

匿名用户

您应该确保您使用的是最新版本的discord.py,截至撰写本文时是v1.4.0a。您在此处使用的代码似乎很旧。删除名称为"new"的角色的正确方法如下:

@client.command()
async def remove(ctx):
   role = discord.utils.get(ctx.guild.roles, name='new')
   await role.delete(reason='Removed by command')

完整的留档可以在这里找到:https://discordpy.readthedocs.io/en/latest/index.html

具体方法discord. Role.delete可以在这里找到:https://discordpy.readthedocs.io/en/latest/api.html?highlight=discord角色删除#discord.Role.delete

我建议不要看YouTube视频,因为其中许多已经过时了。