如何解决discord.py中的“未定义名称'服务器'”错误

时间:2018-12-28 13:24:37

标签: python discord.py

我正在为我的不和谐服务器设置一个python机器人。我正在尝试添加一项功能,当人们加入时,他们会输入-机器人会将他们分配给所述角色

我试图通过使用message.roles和server.roles分配我想要的角色,但是两者仍然会产生相同的错误。

BOT_PREFIX = ('-')

...

#ComputerScience
@client.command(pass_context = True)
async def Cs(member, *roles):
    role = discord.utils.get(server.roles, name="ComputerScience")
    await client.add_role(member, role)

在聊天室中键入“ -Cs”时,显示给他们计算机科学角色,但我得到: “忽略命令Cs中的异常... NameError:名称“服务器”未定义”

1 个答案:

答案 0 :(得分:1)

您正在传递invocation context,但没有在命令的函数签名中接受它。在这种情况下,您可以从以下位置获取server

@client.command(pass_context = True)
async def Cs(ctx):
    role = discord.utils.get(ctx.message.server.roles, name="ComputerScience")
    await client.add_role(ctx.message.author, role)