我正在尝试为Discord.js机器人创建一个命令,该命令在被触发时将使用从文件夹创建的数组,选择一个随机图像,然后发送它。
我无法手动设置数组,因为文件夹中的图像数量总是在变化。
这就是我所拥有的:
if(command.toLowerCase() == "command"){
const fs = require('fs');
const imageFolderLocation = "./images/";
var imageArray = [];
fs.readdir(imageFolderLocation, (err, files) => {
imageArray = files;
});
let randomImage = Math.floor(Math.random() * imageArray.length) + 1;
for (var i = 0; i < imageArray.length; i++) {
message.channel.sendFile(randomImage);
}
return;
}
我尝试使用--trace-warnings启动该机器人,但无济于事。没有警告打印到控制台。
感谢高级TriggerWarning。
答案 0 :(得分:0)
我看到一些问题:
更正的代码:
if (command.toLowerCase() == "command") {
const fs = require('fs');
const imageFolderLocation = "./images/";
fs.readdir(imageFolderLocation, (err, imageArray) => {
// TODO if (err) { /* print to console or something */ }
let randomIndex = Math.floor(Math.random() * imageArray.length) + 1;
let randomImage = imageArray[randomIndex];
message.channel.sendFile(randomImage);
});
return;
}