首页 > 解决方案 > 每 1 分钟编辑嵌入消息 | 不和谐.js V12

问题描述

我希望我的机器人发送一条消息,然后每分钟使用以下值编辑一次:

client.users.cache.size

我尝试了以下代码,但不幸的是,它不起作用。

const timejkdfg = new MessageEmbed().setTitle("testing").addField(":", client.users.cache.size);
message.channel.send(timejkdfg).then((msggg) => {
    const timejk1dfg = new MessageEmbed().setTitle("testing").addField(":", client.users.cache.size);
    setInterval(function () {
        msggg.edit(`${timejk1dfg}`);
    }, 60000);
});

它不显示缓存的用户数,而是显示“ [object Object]”。

标签: javascriptnode.jsdiscorddiscord.jsbots

解决方案


您当前的代码每分钟运行一次,但它没有您想要的效果。那是因为您在函数timejk1dfg之外创建了常量。setInterval这意味着它只会被创建一次,之后它总是一样的,而不是你想要的。修复非常简单,只需timejk1dfg进入区间并从.edit.

const embed = new Discord.MessageEmbed().setTitle("testing").addField(":", client.users.cache.size);
message.channel.send(embed).then((msg) => {
    setInterval(function () {
        const embed = new Discord.MessageEmbed().setTitle("testing").addField(":", client.users.cache.size);
        msg.edit(embed);
    }, 6000);
});

注意:我让你的命名更传统一些

至于您的client.users.cache.size显示问题[object Object],我无法复制。我建议console.log(client.users.cache)看看里面到底有什么。


推荐阅读