- 44
- 4
Здравствуйте, читатели этой статьи! Мы рассмотрим простой способ взаимодействия с Discord API без использования сторонних библиотек. Отправим сообщение от имени бота в Discord канал с использованием только модуля https в Node.js.
https://discord.com/developers/applications
https://discord.com/api/channels/123456789123456789/messages
Создание бота.
- Первым делом перейдем на https://discord.com/developers/applications. Затем, нажимаем New Application.
- Вводим название приложения, читая Developer Terms of Service (https://discord.com/developers/docs/policies-and-agreements/developer-terms-of-service) и Developer Policy (https://discord.com/developers/docs/policies-and-agreements/developer-policy) после всего этого нажмите на кнопку Create.
- Нажимаем на пункт слева: "Bot".
- Нажимаете Add Bot и подтверждаете.
Поздравляю, наш бот создан и хранится на https://discord.com/developers/applications. Остается только написать код.
Сама опция для запроса выглядит следующим образом:
Опция для запроса:
// Токен
const https = require("https");
const token =
"TOKEN_BOT"; // Замените на ваш TOKEN
// Содержимое сообщения для отправки
const messageContent = "Привет, я бот! Это сообщение от меня.";
// Формируем объект данных для сообщения
const postData = JSON.stringify({
content: messageContent
});
// Опции для запроса
const options = {
hostname: "discord.com",
port: 443,
path: "/api/channels/CHANNEL_ID/messages", // Замените на ваш ID канала
method: "POST",
headers: {
Authorization: `Bot ${token}`,
"Content-Type": "application/json",
"Content-Length": Buffer.byteLength(postData)
}
};
Отправка запроса и его завершение:
// Отправка запроса
const req = https.request(options, (res) => {
console.log(`Status code: ${res.statusCode}`);
res.on("data", (d) => {
process.stdout.write(d);
});
});
req.on("error", (error) => {
console.error(error);
});
// Запись данных и завершение запроса
req.write(postData);
req.end();
В канале должно появится следующее сообщение:
Код:
Status code: 200
{"id":"ID","type":0,"content":"\u041f\u0440\u0438\u0432\u0435\u0442, \u044f \u0431\u043e\u0442! \u042d\u0442\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0442 \u043c\u0435\u043d\u044f.","channel_id":"CHANNEL_ID","author":{"id":"BOT_ID","username":"BOT_NAME","avatar":null,"discriminator":"BOT_DISCRIMINATOR","public_flags":0,"premium_type":0,"flags":0,"bot":true,"banner":null,"accent_color":null,"global_name":null,"avatar_decoration_data":null,"banner_color":null},"attachments":[],"embeds":[],"mentions":[],"mention_roles":[],"pinned":false,"mention_everyone":false,"tts":false,"timestamp":"2024-01-30T13:16:40.978000+00:00","edited_timestamp":null,"flags":0,"components":[],"referenced_message":null}
P.S.: Картинки украл у riverya4life
Спасибо за внимание, возможно в будущем ИМЕННО ТЫ станешь успешным разработчиком (нет)
Последнее редактирование: