如何获取 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
问题是,如果我尝试使用 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
.