如何从使用Discord发送的漫游器消息中获取ID

问题描述

我正在使用Python不和谐。我需要从消息中获取ID。我有一个功能

async def send_message(user_id,text):
    user = self.client.get_user(user_id)
    await user.send(text)

我想返回新消息的ID。

解决方法

消息文档https://discordpy.readthedocs.io/en/latest/api.html#message

  • User.send返回具有ID字段的Message类型的对象。
  • 您可以简单地使用 message.idmessage.webhook_id(如果消息来自Webhook)。
async def send_message(user_id,text):
    user = self.client.get_user(user_id)
    message = await user.send(text)
    return message.id
,

最后添加此内容。它将在该频道发送message.id

await message.channel.send(message.id)
,

将任何消息发送到Messageable对象都会返回已发送的Message对象。

这意味着您可以简单地在代码中获得id属性,如下所示:

async def send_message(user_id,text):
    user = self.client.get_user(user_id)
    message = await user.send(text)
    return message.id