我有一个需要付费订阅的机器人。我希望能够将客户想要的代码中的特定公会 ID 列入白名单。我该怎么做呢?除非它在我的代码中列入白名单,否则它会自发地离开它加入的每个服务器。我已经尝试过了。
client.on('guildCreate', (guild) => {
let premiumServers = ['ID1', 'ID2']; // Obviously I replaced ID1, ID2 etc with actual guild IDs
let Premium = true;
for (var i in premiumServers) {
if (guild.id !== premiumServers[i]) Premium = false;
}
if(Premium = false) {
guild.leave();
}
});
没有任何错误消息。应该发生的情况是,除非服务器 ID 在白名单上,否则机器人会离开其邀请的任何服务器。
最佳答案
像这样的东西看起来很干净并且做得最好:
let premiumServers = ['ID1', 'ID2'];
client.on('guildCreate', (guild) => {
if(!premiumServers.includes(guild.id)) return guild.leave();
});
您的机器人在崩溃/离线时仍然能够加入服务器,而不会离开服务器,因此请考虑使用:
const premiumServers = ['ID1', 'ID2'];
client.on('guildCreate', (guild) => {
if(!premiumServers.includes(guild.id)) return guild.leave();
});
client.on('ready', () => {
client.guilds.forEach(guild => {
if(!premiumServers.incudes(guild.id)) guild.leave();
});
console.log(`${client.user.username} is now online...`);
});
关于javascript - 如果 GuildID 未在我的代码中列入白名单,如何让我的 Discord.js (Commando) 机器人离开服务器(加入时)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57664340/