查找和删除 Discord webhook 消息
Posted
技术标签:
【中文标题】查找和删除 Discord webhook 消息【英文标题】:Find and delete Discord webhook message 【发布时间】:2021-07-15 00:18:51 【问题描述】:我正在使用 Discord webhook 发送信息,这些信息以后可能会失效,因此我希望能够将其删除。为此,我使用这些端点:
首先我发出一个帖子请求以发送消息:
POST /webhooks/webhook.id/webhook.token
然后我想做一个删除请求以再次删除该消息:
DELETE /webhooks/webhook.id/webhook.token/messages/message.id
但是我没有要删除的消息的 ID,因为第一个 POST 请求没有响应,它始终是一个空的 204 响应。是否可以获取消息id?
任何帮助将不胜感激。
【问题讨论】:
获取不和谐消息的获取请求应该可以工作,但它需要授权的用户/机器人成员令牌。您可以获取消息吗? @TKperson 不,正如你所说,获取消息需要额外的授权并增加一个全新的复杂层,我只对使用简单的请求感兴趣。不过谢谢你的回复。 【参考方案1】:每this reddit post:
如果您需要引用您发送的 webhook 消息的消息 ID,您可以将 ?wait=true 添加到 URL 的末尾,这将为您提供消息数据(包括 ID)而不是 204(无内容) 当您不包含查询参数时。
因此,如果您将正常的 POST 请求发送到您的网址,如下所示:POST /webhooks/webhook.id/webhook.token
,请在末尾添加 ?wait=true
。然后你会得到这样的数据:
"id": "MESSAGEID",
"type": 0,
"content": "This is a test",
"channel_id": "CHANNELID",
"author":
"bot": true,
"id": "AUTHORID",
"username": "USERNAME",
"avatar": "AVATARID",
"discriminator": "0000"
,
"attachments": [],
"embeds": [],
"mentions": [],
"mention_roles": [],
"pinned": false,
"mention_everyone": false,
"tts": false,
"timestamp": "2021-11-13T18:10:24.412000+00:00",
"edited_timestamp": null,
"flags": 0,
"components": [],
"webhook_id": "WEBHOOKID"
【讨论】:
以上是关于查找和删除 Discord webhook 消息的主要内容,如果未能解决你的问题,请参考以下文章
如何在基于 webhook 和角色的 JS 中修复复杂的 Discord 命令
discord.py,使用 webhook 在所有通道中发送消息