到目前为止,我已经知道了:
function dailylot(){
let channel = message.guild.channels.find(channel => channel.name === "general69420")
if(!channel){return;}
channel.send(".")
return;
}
function settimer(){
setTimeout(() => {
settimer()
dailylot()
console.log("Cycle")
}, 5000)
}
while (i < 1){
console.log("set timer " + i);
settimer()
i++;
}
此操作有效,但仅对发送邮件的服务器有效。即使删除了While,因此它多次激活,也只想转到一台服务器。如何检索所有服务器的通道? bot.guilds.channels不是问题。
答案 0 :(得分:1)
您需要遍历机器人中的每个公会并获取每个tem的通道,之所以如此,是因为与message
或guild
不同,guilds
是不是类,这意味着它不具有guilds.channels
之类的属性,它是其他行会类的集合。
这是有关如何单独访问这些频道的示例:
client.guilds.forEach(guild => {
guild.channels.forEach(channel => {
// Use the channel for whatever you need
})
})