此错误通常在使用discord.py库中的interaction对象(例如commands.interaction)时发生。interaction对象没有'author'属性,所以试图访问它可能会导致此错误。由于interaction代表交互式命令,因此您可以通过interaction对象来获取交互者(即命令发出者)。要获取交互者,请使用interaction对象的user属性,如下所示:
@client.command()
async def command_name(ctx):
interaction = ctx.interaction
user = interaction.user
await ctx.send(f"{user.mention},您好!")
在上面的示例中,我们使用interaction对象的user属性来获取交互者,并使用user对象的mention属性来获取其用户名的提及形式。然后我们将获得的用户名与问候消息一起发送。
通过这种方式,您可以解决此错误并使用interaction对象来获取交互者并执行其他任务。