Discord.js - 创建一个数组来转储图像文件
Posted
技术标签:
【中文标题】Discord.js - 创建一个数组来转储图像文件【英文标题】:Discord.js - Creating an Array to Dump Image Files 【发布时间】:2018-10-16 16:23:21 【问题描述】:我目前正在托管一个 Discord.js 机器人,但在创建命令时遇到了障碍。我已经有一个命令,它使用预定义的数组来选择一张随机照片发送到文本通道(见下面的代码)。但是,我想知道如何创建一个使用数组中找到的值转储所有图像的命令。 谁能帮帮我?
附:下面找到的代码仅包含我已经拥有的数组和命令,如果需要,我可以提供更多代码。但是,我只发现这些位是必要的。
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 === `$prefixhaida`)
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;
【问题讨论】:
您不能在一封邮件中嵌入多个文件。您需要为每张图片发送单独的消息 @Monacraft 我明白,但是,我需要一个过程来做到这一点。这是我的问题。 【参考方案1】:你可以做一个 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 === `$prefixhaida`)
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 - 创建一个数组来转储图像文件的主要内容,如果未能解决你的问题,请参考以下文章
Discord.js 使用来自其他消息的附件来更新嵌入中的图像