我正在为我的不和谐服务器设置一个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:名称“服务器”未定义”
答案 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)