我是一个完整的初学者,所以有人可以向我解释这里有什么问题以及如何解决吗?谢谢
from discord.ext import commands
from discord.utils import get
@client.command()
async def reserve(message, *, stand):
channel = message.channel,
author = message.author,
guild = message.guild,
the_world = get(message.guild.roles,name="The World"),
if stand == 'The World':
await message.author.add_roles(the_world)
The error:
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'tuple' object has no attribute 'id'
答案 0 :(得分:0)
假设在您的机器人的其余部分运行时,您提供的代码会导致此错误,因为您使用的是 get(ctx.guild.roles,name="The World")
,请确保在您的参数中使用 discord.utils
:
discord.utils.get(ctx.guild.roles,name="The World")
此外,我还修改了您的更多代码,作为命令,您不需要传递 message
作为参数,使用 ctx
及其属性。
@client.command()
async def reserve(ctx, *, stand):
if stand == 'The World':
the_world = discord.utils.get(ctx.guild.roles,name = "The World"),
await ctx.author.add_roles(the_world)