Discord.py 如何获取斜杠命令作者id
Discord.py how to get slash command author id
我想获取使用斜线命令的用户的id。我尝试使用:
author = ctx.message.author.id
但是我得到这个错误:
AttributeError: 'NoneType' object has no attribute 'author'
我的完整代码:
slash = SlashCommand(Bot,sync_commands=True)
@slash.slash(
name="getid",
description="description",
guild_ids=[guild id here]
)
async def _getid(ctx:SlashContext):
author = ctx.message.author.id
await ctx.send(author)
ctx.author.id
应该可以。我认为您无法通过交互访问消息。
如果您使用 discord.py
的 app_commands
,您可以使用 interaction.user.id
。
@bot.tree.command(name='userid', guild = discord.Object(id=...))
async def userid(interaction: discord.Interaction):
await interaction.response.send_message(f"The id of the user that invoked this command is {interaction.user.id}")
我想获取使用斜线命令的用户的id。我尝试使用:
author = ctx.message.author.id
但是我得到这个错误:
AttributeError: 'NoneType' object has no attribute 'author'
我的完整代码:
slash = SlashCommand(Bot,sync_commands=True)
@slash.slash(
name="getid",
description="description",
guild_ids=[guild id here]
)
async def _getid(ctx:SlashContext):
author = ctx.message.author.id
await ctx.send(author)
ctx.author.id
应该可以。我认为您无法通过交互访问消息。
如果您使用 discord.py
的 app_commands
,您可以使用 interaction.user.id
。
@bot.tree.command(name='userid', guild = discord.Object(id=...))
async def userid(interaction: discord.Interaction):
await interaction.response.send_message(f"The id of the user that invoked this command is {interaction.user.id}")