#discord.js
#discord.js
Вопрос:
Поэтому я хочу, чтобы мой бот мгновенно добавлял роль человеку, который присоединяется к моему discord. Я также подумал, что хотел бы добавить сообщение о присоединении, потому что почему бы и нет. Поэтому я попытался заставить его работать, но, похоже, я что-то упустил. Что я делаю не так?
Это то, что я пробовал:
const bot = new Discord.Client();
const client = new Discord.Client();
const token = 'REDACTED';
bot.on('ready', () =>{
console.log('Online!')
});
client.on('roleMemberAdd', roleMember =>{
let welcomeRole = GuildMember.guild.roles.cache.find(role => role.name === 'User');
roleMember.roles.add(welcomeRole);
roleMember.guild.channels.cache.get('781094913285685274').permissionsLocked(`Welcome <@${guildMember.user.id}>`)
});
bot.login(token);```
Ответ №1:
roleMemberAdd
это не клиентское событие, на самом деле это даже не то, что вы ищете. guildMemberAdd
срабатывает всякий раз, когда новый участник присоединяется к гильдии, и почему у вас два клиента?, вы не входите в client
инстанс, поэтому он все равно не сработает, а для отправки сообщения на канал вам нужно использовать метод .send() .
const bot = new Discord.Client();
const token = 'REDACTED';
bot.on('ready', () =>{
console.log('Online!')
});
bot.on('guildMemberAdd', guildMember =>{
let welcomeRole = guildMember.guild.roles.cache.find(role => role.name === 'User');
guildMember.roles.add(welcomeRole);
guildMember.guild.channels.resolve('781094913285685274').send(`Welcome ,@${guildMember.user.id}>`)
})
bot.login(token);