如何让附件从./src/中的每个文件看起来都以pingping
开头,并随机选择一个图像例如:pingping2.gif
我尝试这样做
const rand = Math.floor(Math.random() * 5); //I got 5 because I have 5 pingping[].gif files. I dont know how it could count how many files startsWith('pingping')..
attachment = new Discord.MessageAttachment(`./src/pingping${rand}.gif`);
由于某种原因,它只显示所有文件中的最后一个图像,而不是随机选择。这是整个文件-->
attachment = new Discord.MessageAttachment('./src/pingping1.gif');
const { MessageEmbed } = require("discord.js");
module.exports = {
name: 'ping',
cooldown: 5,
description: 'Just a Ping Command',
execute(message, args){
let targetMember = message.mentions.members.first();
if(!args[0])
return message.channel.send('Pong!');
else{
let pingEmbed = new MessageEmbed()
.setDescription(`Ring Ring ${targetMember}!!, ${message.author.username} is Pinging you!!`)
.setColor("#EB338B")
.attachFiles(attachment)
.setImage('attachment://pingping1.gif')
message.channel.send(pingEmbed);
}
}
}
发布于 2020-11-19 12:51:43
我在我的discord机器人中有一个命令,可以发送随机的gif,唯一的缺点是你必须使用直接链接(老实说,我不确定这一点,但我没有尝试用文件)
const randomMessage = messages[Math.floor(Math.random() * messages.length)]
,然后添加直接链接示例:const messages = [`link 1,`link 2`,`link 3`]
,那么它应该发送一个随机链接
发布于 2020-11-19 15:47:08
这就是我如何在每小时发送一张图像的机器人上做到这一点
var fs = require('fs');
var files = fs.readdirSync('./src');
let chosenFile = files[Math.floor(Math.random() * files.length)]
if (chosenFile.contains("pingping")) {
message.channel.send({ files: [{ attachment: `./src/${chosenFile}` }] }
}
https://stackoverflow.com/questions/64661151
复制相似问题