Как я могу отправить изображение в Discord API для запроса содержимого

#javascript #node.js #request #discord #fetch

Вопрос:

Я создал простой JS-код для отправки сообщения на сервер Discord без использования Discord.JS или другие библиотеки для создания ботов, я просто пытаюсь отправить сообщение, используя свой реальный профиль. Он работает действительно хорошо, но я хотел бы обновить его и отправить изображение с текстом тоже, но как я могу «вставить»/»вставить» (извините, я не знаю, какое наиболее подходящее слово для этого) изображение?

Как в приведенном выше примере: изображение диссонанса

Самое большее, что я получил, — это отправка изображения, но оно, похоже, загружало его, а не «автоматически показывало» его. (Изображение выше) Загрузите изображение discord

Мой код выше:

 message = "Just a simple test message.";
token = "HERE_THE_AUTH_TOKEN_GOES";
channel_id = "HERE_THE_CHANNEL_ID_GOES";
channel_url = `https://discord.com/api/v9/channels/${channel_id}/messages`

request = new XMLHttpRequest();
request.withCredentials = true;
request.open("POST", channel_url);
request.setRequestHeader("authorization", token);
request.setRequestHeader("accept", "/");
request.setRequestHeader("authority", "discordapp.com");
request.setRequestHeader("content-type", "application/json");
request.send(JSON.stringify({ content: message }));
 

Поэтому все, что я хочу знать,-это есть ли способ автоматически»встраивать» изображения в сообщение о разногласиях, не загружая его.

Ответ №1:

Запрос на создание сообщения принимает embeds массив, содержащий объекты встраивания.

Объект встраивания может содержать объект изображения, в котором можно указать URL-адрес.

В вашем примере у вас есть объект тела:

 let body = { content: message };
 

Чтобы встроить изображение, вы можете изменить тело на это:

 let url = "https://www.example.com/example.png"
let body = { 
  content: message,
  embeds: [
    { image: { url } }
  ]
};