首页 > 解决方案 > 使用 Discord API 在给定用户 ID 的情况下发送私人消息

问题描述

给定用户 ID,我一直在尝试使用Discord 的 API向用户发送新的私人消息。

我知道这可以使用 Discord.JS 和 Discord.py 等库 - 请不要推荐我使用这些库,我很清楚我想要做什么。我尝试查看 Discord.js 等库的源代码,但似乎找不到与特定用户创建新 DM 所需的端点。

此外,Discord 的文档在该主题上并不清楚,并且在线研究范围很广。

这是我当前的代码(显然无法正常工作,因为端点不正确):

const discordToken = "some-token";
const discordID = "some-user-id";
const userURL = `https://discordapp.com/api/users/${discordID}`;
    fetch(userURL, {
        method: 'POST',
        body: JSON.stringify({
            recipent_id: discordID,
            embed: {
              title: `Testing - Title `,
              description: `Testing - Description`
            }
        }), 
        headers: {
            'Content-Type': 'application/json',
            'Authorization': 'Bot ' + discordToken
          },
    })

如果有人知道正确的端点或其他方式来实现这一点(使用纯粹的 POST 请求,没有外部库),请告诉我,谢谢。

标签: javascriptnode.jspostdiscordendpoint

解决方案


注意我没有直接使用 discord api,但据我所知,我相信这会起作用。

我认为您发送 dm 就像在频道中发送消息一样。

您首先需要使用https://discord.com/developers/docs/resources/user#create-dm创建 dm

然后像任何普通频道一样发送给它 https://discord.com/developers/docs/resources/channel#create-message


推荐阅读