Python Discord 'Context' 对象没有属性 'guild'

Off*_*aks 1 python-3.x discord discord.py

我正在尝试编写一个机器人程序,当用户键入“b.assemble”时,它会为用户提供“管理员”角色,但我不断收到此错误:

discord.ext.commands.errors.CommandInvokeError: 
AttributeError: 'Context' object has no attribute 'guild'
Run Code Online (Sandbox Code Playgroud)

调用错误的部分如下所示:

guild = ctx.guild
await guild.create_role(name="Admin")
role = discord.utils.get(ctx.guild.roles, name="Admin")
user = ctx.message.author
await user.add_roles(role)
Run Code Online (Sandbox Code Playgroud)

abc*_*ccd 6

正如 MI Wright 在他们的回答中所写,您正在使用 discord.py 的异步分支。

在异步分支中,ctx.guild不存在,您可以重新安装到重写分支(如其他回答者所建议的)或使用异步分支替代ctx.guild

server = ctx.message.server
role = await client.create_role(server, name="Admin")

member = ctx.message.author
await client.add_roles(member, role)
Run Code Online (Sandbox Code Playgroud)

client机器人在哪里。


discord.py 稳定版本的文档在这里:http : //discordpy.readthedocs.io/en/async/api.html