最近我做了一个不和谐的机器人,禁止新成员自动当有人谁创建了他们的帐户不到30天前加入.问题是,当有人加入什么都没有发生,也没有日志显示任何东西.想知道什么可能是问题.谢谢!!
`const { Client, Intents,GatewayIntentBits } = require('discord.js');
const client = new Client({
intents: GatewayIntentBits.Guilds
});
client.on('guildMemberAdd', member => {
console.log(`${member.user.username} csatlakozott a szerverhez.`);
const currentTime = Date.now();
const creationTime = member.user.createdAt.getTime();
const ageInMs = currentTime - creationTime;
const ageInDays = ageInMs / 1000 / 60 / 60 / 24;
if (ageInDays < 30) {
console.log(`${member.user.username} fiókja egy hónapnál fiatalabb. Bannolás és üzenet küldése...`);
member.ban({ reason: 'Fiók létrehozási dátuma egy hónapnál fiatalabb' });
member.send('Sajnáljuk, de a fiókod egy hónapnál fiatalabb, így nem tudsz csatlakozni a szerverhez.')
.then(() => console.log(`Üzenet elküldve ${member.user.username}-nek.`))
.catch(error => console.error(`Hiba történt az üzenet küldése közben: ${error}`));
}
});
client.login('token')
.then(() => console.log('Bot bejelentkezve.'))
.catch(error => console.error(`Hiba történt a bejelentkezés közben: ${error}`));
`
尝试:加入多个服务器,日志应该显示加入,并自动禁止成员。
1条答案
按热度按时间kpbpu0081#
根据此链接www.example.comhttps://discordjs.guide/popular-topics/intents.html#enabling-intents
如果您希望机器人为新成员发布欢迎消息(GUILD_MEMBER_ADD-discord.js中的"guildMemberAdd"),则需要GuildMembers特权Intent,等等。
更改此
为此
这应该也行得通(虽然我没有尝试过)
重新启动你的机器人,它应该工作。我设法测试了它,并禁止了一个新帐户(我没有测试你的机器人是否也禁止旧帐户)
您可以在www.example.com找到Intent列表https://discord.com/developers/docs/topics/gateway#list-of-intents