如何获取 discord.py 中的消息作者 ID? - 不和谐 Python

How to get message author id in discord.py? - Discord Python

问题是,如果我尝试使用 message.author.id,它会说

"Cannot find reference 'author' in 'message.py'

基本上我想在下面的代码中做的是:一个只有某些 id 可以访问并且他们可以用来将自己的角色交给某人的命令。

感谢您的帮助!

@client.command(pass_context=True)
@commands.has(939236844137226290)
async def asteroid(ctx, user: discord.Member):
    if  message.author.id == 939236844137226290:
        role = ctx.guild.get_role(939236844137226290)
        await user.add_roles(role)
        await ctx.send(f"{user.name} has received {role} from {ctx.author.name}!")
    else:
        await ctx.send("Only asteroidblues has permission to give the role away")

问题可能是您导入了 discord.Message,但是当 message 是一个包含 discord.Message 实例的变量时您必须使用 message.author.id,而您没有在这种情况下。但是您所拥有的是 ctx 上下文,您可以使用 ctx.author.id.

从中访问作者 ID