Задать вопрос
@Flummox_lnc

Как с помощью дискорд бота отправить в чат фото из определённой папки?

Суть такова:
Мой дискорд бот должен по комманде в чате отправить туда случайно выбранную фоторгафию. Все фотографии которые бот может отправить лежат в одной папке.
Я смог получить результат, но для этого приходится для каждой отдельной фотографии указывать полный путь от диска до самой фотографии, а учитывая что этих фотографий около 200-т, то очень не удобно писать 200 строчек одинакового кода.
Вот часть моего кода:

Можно ли записать боту путь только до папки с фотографиями, которые он сам там обнаружит и выберет случайную?
client.on('message', message => {
  if (message.author.bot) return;
  if (message.content.startsWith('=мем')) {
  let images = [
  { files: ["./Images/e633993d7c13dcbe83f4e7969cc06e63.jpg"] }, 
];
  let randomiez = Math.floor(Math.random() * images.length)
  let randomImage = images[randomiez];
  message.channel.send(randomImage);
  }
});

Если да, то подскажите как это записать?
  • Вопрос задан
  • 398 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Azperin
Дилетант
Может чтото типа такого
const fs = require('fs');

const IMG_DIR_PATH = './images/'
const imgArr = fs.readdirSync(IMG_DIR_PATH);
function randomImage() {
	let randomIndex = Math.floor(Math.random() * imgArr.length);
	let imgFileName = imgArr[randomIndex];
	return IMG_DIR_PATH + imgFileName;
};

client.on('message', message => {
	let images = [
		{ files: [randomImage()] }, 
	];
});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы