我可以使用 Discord API 在消息请求中保存信息吗?

Can I save information in message requests with Discord API?

我试过这样发送消息

client.api.channels(msg.channel.id).messages.post({
  data: {
    content: 'content',
    test: 'test'
  }
})

我希望因为它是一个 API post 请求,它会保存 test 属性.

const msgs = await client.api.channels(msg.channel.id).messages.get();
msg.channel.send(msgs[1].test) //error: cannot send an empty message

.test 更改为 .content 发送 bot 最初发送的消息内容,但 .test 输出未定义。也许我需要使用 node-fetchhttps 以便它 post 直接获取?

您正在通过 post 请求将 test 属性 发送到 Discord API,但这并不意味着 Discord API 将存储属性 到它的数据库。它只关心它知道的数据,其余的都被丢弃。列出了有关一条消息的所有 Discord 存储属性 here

Discord API 不允许您在消息对象中存储任意数据。

当然你可以寻找解决方法,比如将数据存储在嵌入的颜色(如果它们足够短)或图像中,等等。我不认为这是一个很好的解决这个问题的方法,但取决于你想要完成什么。

您可以自己存储自定义数据。创建某种中间件,它将向 Discord API 发送消息,检索新创建消息的消息对象。并将其 id 与您的自定义数据相关联并将其存储在某个地方(例如您的数据库、JSON 文件等)

稍后您可以使用消息的 ID 访问您的自定义数据。