Discord bot:嵌入消息中的随机图像
Discord bot : random images in an embed message
我开始编写一个 discord 机器人程序,我执行了第一个命令,即拥抱另一个成员。答案是连同动漫拥抱 gif。但是现在,我想做的是,不是只设置一个 gif,而是放一些随机选择的其他 gif。但是,我不知道如何进行随机gif。
const Discord = require("discord.js");
const { UserAgent } = require("discord.js/src/util/Constants");
const ytdl = require("ytdl-core");
const Client = new Discord.Client({
intents : [
Discord.Intents.FLAGS.GUILDS,
Discord.Intents.FLAGS.GUILD_MESSAGES
]
});
const prefix ="<";
Client.on("ready", () => {
console.log("bot opérationnel")
});
Client.on("message", message => {
if (message.author.bot) return;
if (message.content.startsWith (prefix + "hug")){
let mention = message.mentions.members.first();
if(mention === undefined){
message.channel.send("u have to hug someone who actually exists");
}
else {
const embed = new Discord.MessageEmbed()
.setColor("DARK_RED")
.setTitle(":hugging: " + mention.displayName + " recieved a hug from " + message.author.username + " !")
.setImage("gif.gif");
message.channel.send({embeds: [embed]});
}
}
});
Client.login("token");
所以这将从 gif 数组中选择一个随机元素,
const hugs = ['gif1.gif', 'gif2.gif'];
const randomHug = hugs[Math.floor(Math.random() * hugs.length)];
您当然会使用变量 randomHug 作为 gif。 .setImage(randomHug);
完美。
此外,如果您有大量的 gif 并且不想全部添加到列表中,您可以将它们另存为 gif{num}.gif
文件夹中,然后 select随机 gif 仅使用:
const fs = require('fs')
const randomHug = 'gif' + Math.floor((Math.random() * fs.readdirSync('gifs_directory').length) + 1) + '.gif'
我开始编写一个 discord 机器人程序,我执行了第一个命令,即拥抱另一个成员。答案是连同动漫拥抱 gif。但是现在,我想做的是,不是只设置一个 gif,而是放一些随机选择的其他 gif。但是,我不知道如何进行随机gif。
const Discord = require("discord.js");
const { UserAgent } = require("discord.js/src/util/Constants");
const ytdl = require("ytdl-core");
const Client = new Discord.Client({
intents : [
Discord.Intents.FLAGS.GUILDS,
Discord.Intents.FLAGS.GUILD_MESSAGES
]
});
const prefix ="<";
Client.on("ready", () => {
console.log("bot opérationnel")
});
Client.on("message", message => {
if (message.author.bot) return;
if (message.content.startsWith (prefix + "hug")){
let mention = message.mentions.members.first();
if(mention === undefined){
message.channel.send("u have to hug someone who actually exists");
}
else {
const embed = new Discord.MessageEmbed()
.setColor("DARK_RED")
.setTitle(":hugging: " + mention.displayName + " recieved a hug from " + message.author.username + " !")
.setImage("gif.gif");
message.channel.send({embeds: [embed]});
}
}
});
Client.login("token");
所以这将从 gif 数组中选择一个随机元素,
const hugs = ['gif1.gif', 'gif2.gif'];
const randomHug = hugs[Math.floor(Math.random() * hugs.length)];
您当然会使用变量 randomHug 作为 gif。 .setImage(randomHug);
此外,如果您有大量的 gif 并且不想全部添加到列表中,您可以将它们另存为 gif{num}.gif
文件夹中,然后 select随机 gif 仅使用:
const fs = require('fs')
const randomHug = 'gif' + Math.floor((Math.random() * fs.readdirSync('gifs_directory').length) + 1) + '.gif'