Загрузите изображение по ссылке с помощью discord.js, затем удалите файл

Мне нужно загрузить изображение из imgur, затем отправить его, а затем удалить файл с помощью fs или любого другого модуля, который вы можете порекомендовать. Спасибо за помощь!

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
1 350
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы можете попробовать это с модулем nightmare и nightmare-screenshot-selector. Nightmare - это модуль, используемый для веб-скрейпинга, а nightmare-screenshot-selector упрощает создание скриншотов разных вещей.

Шаги, которые вам следует сделать:

nightmare
  .goto(url) //imgur.com/xyz
  .wait(#pic) // wait for the picture to load
  .screenshotSelector(#image) //screenshot the image
  .then(function(data) {
    fs.writeFileSync(path, data);  //save the file
    message.channel.send("", {    //send the picture in the channel
      file: path
    });
    fs.unlink(path, (err) => {  //delete the file
     if (err) throw err;
      console.info(path + ' was deleted');
    });
   });

Имейте в виду, что копирование и вставка этого кода, вероятно, не сработает, вам следует просмотреть документацию по модулям и попытаться понять, что вы делаете.

Ответ принят как подходящий

Если вы просто хотите отправить изображение, вам не нужно сохранять, а затем удалять файл: вы можете просто указать URL-адрес в опции файла сообщения, поскольку он также принимает BufferResolvable (и, следовательно, URL-адреса).

let image = "https://discordapp.com/assets/c4bae281354a2b4e2db85415955e0994.svg"; // this is the URL for your image
let channel = message.channel; // this is your channel (I assumed this is in a command)

channel.send("", { file: image }); // you can send the image like this
channel.send("Description message", { file: image }); // you can also set a description

Imgur, похоже, больше не поддерживает это, поскольку изображения отображаются только как вставки с заголовком

Dan5312 Dan5312 27.10.2018 18:09

Странно ... какую ссылку вы используете? Прямая ссылка?

Federico Grandi 27.10.2018 18:58

Другие вопросы по теме