我正在尝试使不和谐的机器人删除“新”角色。到目前为止,它不起作用。谁能告诉我为什么,什么是正确的?
@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")
有什么想法吗?
答案 0 :(得分:0)
您应该确保使用的是最新版本的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%20role%20delete#discord.Role.delete
我建议不要关注YouTube视频,因为其中许多视频已过时。