【问题标题】:Discord bot : random images in an embed messageDiscord bot:嵌入消息中的随机图像
【发布时间】:2021-12-21 17:17:50
【问题描述】:

我正在开始编写一个不和谐机器人,我执行了我的第一个命令,即拥抱另一个成员。答案是与动漫拥抱 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 文件名? (例如,它们是否在数组中?名称是否为确定性格式,例如 gifN.gif,其中 N 为 0-100?等)

标签: javascript visual-studio-code discord discord.js bots


【解决方案1】:

所以这将是从 gif 数组中选择一个随机元素,

const hugs = ['gif1.gif', 'gif2.gif'];

const randomHug = hugs[Math.floor(Math.random() * hugs.length)];

您当然会使用变量 randomHug 作为 gif。 .setImage(randomHug);

【讨论】:

    【解决方案2】:

    @Michel Mano answer 完美。

    另外,如果您有大量 gif,并且不想将所有 gif 都添加到列表中,可以将它们保存为 gif{num}.gif 在文件夹中,然后选择随机 gif,只需使用:

    
    const fs = require('fs')
     
    const randomHug = 'gif' + Math.floor((Math.random() * fs.readdirSync('gifs_directory').length) + 1) + '.gif'
    

    【讨论】:

      猜你喜欢
      • 2021-08-12
      • 2021-06-05
      • 2019-04-19
      • 2020-06-10
      • 2020-05-13
      • 2021-09-15
      • 2021-08-02
      • 2021-07-23
      • 2021-12-12
      相关资源
      最近更新 更多