你好,我有个问题。
不和谐机器人如何发送具有随机名称的文件。此文件位于特定目录中,并且只有 1 个文件。
让机器人知道这是文件的代码是什么。
message.author.send("HTML:", {
files: [{
attachment: 'C:/Users/username/Downloads/specificFolder/fileisHere',
name: 'filename.html'
}]
})
此代码如何更改机器人允许随机发送文件
答案 0 :(得分:0)
首先,给每个文件加一个数字前缀,每次加1,从0开始,例如
0file.txt
1file.txt
2file.txt
... etc
然后调用get random file函数依次读取每个文件,生成一个从0
到number of files you have - 1
的随机数并输出文件名。
const fs = require('fs') //require fs to open files etc
//read files from the directory - I chose a directory called `dir001`
fs.readdir("./dir001", (err, files) => {
if (err) {
console.log(err);
}
let dirFiles = files.filter((f) => f.split(".").pop() === "txt"); // if the files end with txt - change for your needs
if (dirFiles.length === 0) {
console.log("No dir files found"); //if no files found return
return;
}
let randInt = Math.floor(Math.random() * <number of files in the dir>); // generate random number from 0 to number of files in the dir
dirFiles.forEach((f) => {
if (!f.startsWith(randInt)) return; // if the file doesnt start with randInt(), return
message.channel.send(`random file: ${f}`); // output the randomized file
});
});
这应该可行,如果您遇到错误,请在确保根据您的个人需要更改所有内容后告诉我。