Discord.js - 创建一个数组来转储图像文件
Discord.js - Creating an Array to Dump Image Files
我目前正在托管一个 Discord.js 机器人,并且在创建命令时遇到了障碍。我已经有了一个命令,该命令使用预定义数组 select 随机照片发送到文本通道(请参见下面的代码)。但是,我想知道如何创建一个命令来使用数组中找到的值转储所有图像。
谁能帮帮我?
P.S。下面找到的代码仅包括我已有的数组和命令,如果需要,我可以提供更多代码。但是,我只发现这些位是必需的。
const haidaArray = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '70', '71', '72', '73', '74', '75', '76' '77', '78', '79', '80', '81', '82', '83'];
if(command === `${prefix}haida`) {
let haidaResult = haidaArray[(Math.random() * haidaArray.length) | 0];
message.channel.send({files: [`./haida/${haidaResult}.jpg`]});
console.log(chalk.bgMagenta('[fun]') + ' ' + message.author.username + ' requested: ' + command);
return;
}
你可以做一个for循环。
首先你应该数数组。您使用 ARRAY.lenght
执行此操作。之后就是一个简单的for循环。因此,在发送一张图片后,它会检查长度是否小于 i
。如果是,则循环结束:
const haidaArray = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '70', '71', '72', '73', '74', '75', '76' '77', '78', '79', '80', '81', '82', '83'];
if(command === `${prefix}haida`) {
let haidaResult = haidaArray[(Math.random() * haidaArray.length) | 0];
for (var i = 0; i < haidaArray.length; i++) {
//Send your image
message.channel.send({files: [`./haida/${haidaResult}.jpg`]});
console.log(chalk.bgMagenta('[fun]') + ' ' + message.author.username + ' requested: ' + command);
}
return;
}
而且你不想记录你的消息 80 次所以我只是在 for 循环之后而不是在 for 循环中发送它。
编码愉快 :D
我目前正在托管一个 Discord.js 机器人,并且在创建命令时遇到了障碍。我已经有了一个命令,该命令使用预定义数组 select 随机照片发送到文本通道(请参见下面的代码)。但是,我想知道如何创建一个命令来使用数组中找到的值转储所有图像。 谁能帮帮我?
P.S。下面找到的代码仅包括我已有的数组和命令,如果需要,我可以提供更多代码。但是,我只发现这些位是必需的。
const haidaArray = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '70', '71', '72', '73', '74', '75', '76' '77', '78', '79', '80', '81', '82', '83'];
if(command === `${prefix}haida`) {
let haidaResult = haidaArray[(Math.random() * haidaArray.length) | 0];
message.channel.send({files: [`./haida/${haidaResult}.jpg`]});
console.log(chalk.bgMagenta('[fun]') + ' ' + message.author.username + ' requested: ' + command);
return;
}
你可以做一个for循环。
首先你应该数数组。您使用 ARRAY.lenght
执行此操作。之后就是一个简单的for循环。因此,在发送一张图片后,它会检查长度是否小于 i
。如果是,则循环结束:
const haidaArray = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '70', '71', '72', '73', '74', '75', '76' '77', '78', '79', '80', '81', '82', '83'];
if(command === `${prefix}haida`) {
let haidaResult = haidaArray[(Math.random() * haidaArray.length) | 0];
for (var i = 0; i < haidaArray.length; i++) {
//Send your image
message.channel.send({files: [`./haida/${haidaResult}.jpg`]});
console.log(chalk.bgMagenta('[fun]') + ' ' + message.author.username + ' requested: ' + command);
}
return;
}
而且你不想记录你的消息 80 次所以我只是在 for 循环之后而不是在 for 循环中发送它。
编码愉快 :D