discord.ext.commands.errors.CommandInvokeError:命令引发了异常:AttributeError:'NoneType'对象没有属性'id'

时间:2020-10-10 10:09:11

标签: python discord.py

我制造了不和谐的机器人,并执行了静音命令

@bot.command(pass_context = True)
@commands.has_any_role('Тестеры',764167672971657236)
async def мут(ctx, member: discord.Member):
    role = discord.utils.get(member.guild.roles, name="muted")
    await member.add_roles(role, member) 
    embed=discord.Embed(title="Пользователь получил бан чата!", description="**{0}**  получил бан чата от **{1}**! За размутом обращайтесь к администратору!".format(member, ctx.message.author), color=0xff00f6)
    await ctx.send(embed=embed)

及其工作,但是重新启动pc后我出现了错误

Traceback (most recent call last):
  File "C:\Users\Ivan\AppData\Local\Programs\Python\Python38-32\lib\site-packages\discord\ext\commands\bot.py", line 903, in invoke
    await ctx.command.invoke(ctx)
  File "C:\Users\Ivan\AppData\Local\Programs\Python\Python38-32\lib\site-packages\discord\ext\commands\core.py", line 859, in invoke
    await injected(*ctx.args, **ctx.kwargs)
  File "C:\Users\Ivan\AppData\Local\Programs\Python\Python38-32\lib\site-packages\discord\ext\commands\core.py", line 94, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'NoneType' object has no attribute 'id'

请帮助

1 个答案:

答案 0 :(得分:0)

机器人无法获得名称为“ muted”的角色,这也不是您赋予角色的方式。

下面是修改后的代码:

@bot.command(pass_context = True)
@commands.has_any_role('Тестеры',764167672971657236)
async def мут(ctx, member: discord.Member):
    role = discord.utils.get(member.guild.roles, name="muted") # make sure role is named muted and not Muted
    await member.add_roles(role) 
    embed=discord.Embed(title="Пользователь получил бан чата!", description="**{0}**  получил бан чата от **{1}**! За размутом обращайтесь к администратору!".format(member, ctx.message.author), color=0xff00f6)
    await ctx.send(embed=embed)