有没有办法获取使用特定命令的人的用户 ID?
我试图创建一个测试命令来看看我是如何做到的,但我似乎无法让它工作
@client.command()
async def icri(ctx, message):
await ctx.send(message.author.user_id)
我尝试完成这项工作,但是当我以 !icri xyz
的身份运行命令时,我认为如果将 xyz 作为消息,它将返回用户 ID。但是当我运行它时,我收到一条错误消息,指出该函数缺少参数“message”。
我的最终目标是创建一个命令,该命令将查找使用该命令的成员的用户 ID 并访问与其关联的字典项。 如果我做这样的事情,我可以做到这一点
@client.command()
async def icri(ctx, member):
await ctx.send(member.user_id)
但这是不切实际的,我也希望它是一件隐蔽的事情。
答案 0 :(得分:0)
在您的函数中,message
只是您传递的一个参数。所以它不是 message
对象。如果您收到消息,您可以使用 ctx.message
获得它。也看看这些:
ctx.guild => Server
ctx.channel => The text channel
ctx.message => The message
ctx.author => Who sent the message
ctx.author.id => User's id
您可以在https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#bots
获得更多信息