Discord 机器人在频道名称中显示会员编号
Posted
技术标签:
【中文标题】Discord 机器人在频道名称中显示会员编号【英文标题】:Discord bot showing member number in the channel name 【发布时间】:2021-09-04 03:15:39 【问题描述】:这是我目前的代码:
setInterval(function ()
let myGuild = client.guilds.cache.get("0000000000000");
let memberNumber = myGuild.members.cache.filter(member => !member.user.bot).size;
, 1000);
正如您可能在这里所说的那样,我已经成功地创建了一个 Discord 机器人来计算我服务器上的成员数量,不包括机器人,并在 Discord.JS 中每隔一秒检查一次。 我不知道该怎么做是在频道名称中显示该数字并使其不断更新,就像“ServerStats”Discord 机器人那样。 (比如有频道名称 Members: 1,并且当 memberCount 增加或减少时更新数字,我将有示例的照片)。你能告诉我怎么做,并详细解释你做了什么,但在菜鸟级别,因为我对编码很陌生?
【问题讨论】:
【参考方案1】:首先,在 guildMemberAdd 事件中运行它可能更容易,而不是每秒更新一次,这样您就不会向 API 发送垃圾邮件。
这可能是你想要的更多:
client.on("guildMemberAdd", function(member)
let myGuild = member.guild
let myChannel = myGuild.channels.cache.get("CHANNEL ID HERE");
let memberNumber = myGuild.members.cache.filter(member => !member.user.bot).size;
myChannel.name = `Members: $memberNumber`
)
【讨论】:
这个多久更新一次,如果你能稍微解释一下代码,是不是每次添加新成员时都会更新? 每次有会员加入都会更新。我也忘了提到最好将相同的代码添加到 guildMemberRemove 事件中,以便在成员离开时更新 我不断收到这个错误:events.js:131 throw new ERR_INVALID_ARG_TYPE('listener', 'Function', listener);在这一行: let memberNumber = myGuild.members.cache.filter(member => !member.user.bot).size; > events.js:131 您是否在此处存储所有事件?为什么不把它们分开?以上是关于Discord 机器人在频道名称中显示会员编号的主要内容,如果未能解决你的问题,请参考以下文章