显示嵌入中有多少台服务器bot | Discord.js

时间:2020-09-27 14:28:21

标签: javascript node.js discord discord.js

我的机器人在20台以上的服务器中,并且我希望能够向用户展示我的机器人所在的服务器。我能够自己执行此操作,但是我希望将服务器列表嵌入一个服务器中,并且如果它通过了嵌入字符限制了嵌入的第2页。

代码:

    if (message.content === 'zservers'){
        bot.guilds.cache.forEach((guild) => {
            const serverlist = new Discord.MessageEmbed()
            .setTitle(`??????? ?????? ?? ??.`)
            .addField(guild)
            .setFooter(`Invite lovell <$`)
            message.channel.send(serverlist)
        })
    }

结果:

enter image description here

我希望能够在单个嵌入中列出所有服务器!

3 个答案:

答案 0 :(得分:1)

这应该有效

if (message.content === 'zservers'){
        let serverlist = ''
        bot.guilds.cache.forEach((guild) => {
            serverlist = serverlist.concat(" - " + guild.name + ": ID: " + guild.id + "\n")
        })
    
        const embed = new MessageEmbed()
        .setColor("RANDOM")
        .setTitle("Servers that have Naruse Jun Bot", '')
        .setDescription(serverlist)
        message.channel.send({embed});

}

答案 1 :(得分:0)

输入通用字符串,然后将行会附加到该字符串。

    if (message.content === 'zservers'){
        let guilds = '';
        bot.guilds.cache.forEach((guild) => {
            guilds = guilds.concat(guild).concat("\n"); // concatenate the guild and add a new line in the end.
        })
        const serverlist = new Discord.MessageEmbed()
        .setTitle(`??????? ?????? ?? ??.`)
        .addField(guilds) // use the general 'guilds' string.
        .setFooter(`Invite lovell <$`)
        message.channel.send(serverlist)
    }

答案 2 :(得分:0)

工作吗?

编辑:已更新! 现在应该可以工作。

dt = datetime.fromtimestamp(s-off, timezone.utc)
# datetime.datetime(2020, 10, 12, 4, 15, tzinfo=datetime.timezone.utc)

编辑2:类似的问题和完全正确的答案-> https://stackoverflow.com/a/60693028/7090121