如何在Python discord bot中获取提到的用户的ID?

如何在Python discord bot中获取提到的用户的ID?,python,discord,discord.py,Python,Discord,Discord.py,所以我用python编写了一个discord机器人。但有一个问题。我知道如何提及发送消息的用户。但是我如何获得作者在消息中提到的用户的ID呢?我找不到答案 您可以使用消息获取消息中提及的用户。提及() 从那里,您可以从成员对象获取ID,或者从这些对象获取格式化的提及 message.mentions[0].id message.mentions[0].mention 您可以使用消息获取消息中提及的用户。提及() 从那里,您可以从成员对象获取ID,或者从这些对象获取格式化的提及 message.

所以我用python编写了一个discord机器人。但有一个问题。我知道如何提及发送消息的用户。但是我如何获得作者在消息中提到的用户的ID呢?我找不到答案

您可以使用
消息获取消息中提及的用户。提及
()

从那里,您可以从成员对象获取ID,或者从这些对象获取格式化的提及

message.mentions[0].id
message.mentions[0].mention
您可以使用
消息获取消息中提及的用户。提及
()

从那里,您可以从成员对象获取ID,或者从这些对象获取格式化的提及

message.mentions[0].id
message.mentions[0].mention

discord.Message
对象具有一个属性
references
,该属性返回消息内容中提到的所有用户的
discord.Member
对象列表,
discord.Member
对象具有
discord.User
对象作为父对象,因此您可以访问
discord.User
属性,如
author.id
author.name
等。只需使用

for member in message.mentions:
    # do stuff with member
您应该真正使用
discord.ext.commands
(异步重写) 因为制作一个纯粹在消息上的
事件方法中工作的命令解析器是一个不好的非python思想

你可能想要什么
似乎你只是想能够访问消息的作者对象和消息中提到的用户作为参数,为此请参考我的答案。要访问作者,您只需通过
discord.Message
对象和
Message.author
discord.Message
对象的属性为
references
,该属性返回消息内容中提到的所有用户的
discord.Member
对象列表,
discord.Member
对象具有
discord.User
对象作为父对象,因此您可以访问
discord.User
属性,如
author.id
author.name
等。只需使用

for member in message.mentions:
    # do stuff with member
您应该真正使用
discord.ext.commands
(异步重写) 因为制作一个纯粹在消息上的
事件方法中工作的命令解析器是一个不好的非python思想

你可能想要什么
似乎你只是想能够访问消息的作者对象和消息中提到的用户作为参数,为此请参考我的答案。要访问作者,只需使用
Message.author

通过
discord.Message
对象即可,那么下面的示例是否正确
async def on_message():if message.content.upper()==“+CALL”:等待bot.send_message(message.channel,“并被调用来“%”(message.indications[0].id,message.indications[1].id))
否。提及的格式不只是
。此外,您只需使用
member.title
创建一个预先格式化的提及<代码>%s%消息。提及[0]。提及
。最后,可能值得研究一下,那么下面的示例是否正确
async def on_message():if message.content.upper()==“+CALL”:等待bot.send_message(message.channel,“并被调用来“%”(message.indications[0].id,message.indications[1].id))
否。提及的格式不只是
。此外,您只需使用
member.title
创建一个预先格式化的提及<代码>%s%消息。提及[0]。提及
。最后,这可能值得研究