@SoWhatMan

Как сохранить файл отправленный в сообщении?

Мне нужно отслеживать в сообщении наличие вложенного файла и если такой есть - достать его ссылку. Сколько искал на просторах интернета, так ничего не нашел.
Оговорюсь, что в этой сфере я новичок, поэтому пожалуйста, не закидывайте палками и слишком умными словечками.
Заранее спасибо за ответ.
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
lastuniverse
@lastuniverse
Всегда вокруг да около IT тем
Как то так:
const fs = require("fs");
const Discord = require("discord.js");
const client = new Discord.Client();

client.login("ТУТ ВАШ ТОКЕН");

...

// обработчик события message
client.on('message', async message => {

    const filename = Date.now()+".json";
    const data = {
        content: message.content,
        attachments: message.attachments.map(attach=>{
            return {
                id: attach.id,
                url: attach.url,
                proxyURL: attach.proxyURL,
                filename: attach.filename,
                filesize: attach.filesize,
                height: attach.height,
                width: attach.width
            };
        })
    };

    // не забудьте создать папочку logs в папке с ботом
    fs.writeFile('./logs/'+filename, JSON.stringify(data), (err) => {
        if (err) throw err;
    });
});


ну и вот пример того что бот будет записывать в папку logs (это лог с вашим сообщением моему боту :)
{
  "content":"Тест",
  "attachments":[
    {
      "id":"686193341083549696",
      "url":"https://cdn.discordapp.com/attachments/452202521671237653/686193341083549696/IMG-30dd366b26acb4b1cbbe786f3ad22862-V.jpg",
      "proxyURL":"https://media.discordapp.net/attachments/452202521671237653/686193341083549696/IMG-30dd366b26acb4b1cbbe786f3ad22862-V.jpg",
      "filename":"IMG-30dd366b26acb4b1cbbe786f3ad22862-V.jpg",
      "filesize":58121,
      "height":330,
      "width":374
    }
  ]
}


каждое вложение содержит 2 ссылки (обычный url и proxyurl):

url https://cdn.discordapp.com/attachments/45220252167...

proxyurl https://media.discordapp.net/attachments/452202521...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы