AttributeError: 'NoneType' 对象没有添加角色的属性 'roles' 错误

时间:2021-02-15 08:58:17

标签: python discord.py

当我使用脚本时:

@bot.command()
async def agree(ctx):
  await ctx.author.send('Thank you for reading the Terms of Use, you should have access to the server now! (If you have not been given access please contact one of the staff members)')

  var = discord.utils.get(ctx.guild.roles, name = "Pogchamp")
  ctx.author.add_roles(var)

错误:

AttributeError: 'NoneType' object has no attribute 'roles'

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

错误 AttributeError: 'NoneType' object has no attribute 'roles' 由于未等待语句而发生。

这是添加用户角色的部分

  ctx.author.add_roles(var)

这可以简单地更正为:

  await ctx.author.add_roles(var)

如果你还想从命令中指定角色,这可以与 role: discord.Role = None 一起使用,然后等待成员作者他们设置的角色,但在这种情况下,你似乎只想给一个设置角色同意 TOS 的用户。

还要确保您已启用成员意图或至少启用了 Discord 提供的基本意图。另外确保你有主要的导入以允许使用 Discord utils

import discord
import discord.utils
from discord.ext import commands, tasks