#discord.js
Вопрос:
Я создал код, который приветствует новых участников на определенном канале, но я хочу переключить его. Если сотрудник использует !greet #channel
, то приветствие будет включено в канале#. И если они используют !greet
, это отключает приветствие для сервера.
Событие в гильдии
client.on('guildMemberAdd', member =>{
const channel = member.guild.channels.cache.find(ch => ch.name == 'welcome');
if(!channel) return;
channel.send(`Welcome to **${member.guild.name}**, ${member}!`)
.then(message =>{
message.delete({ timeout: 5000 })
})
.catch(console.error);
});
Подробная информация
Я просто хочу сделать это командой переключения, и я не уверен, как это сделать. Я был бы рад получить ранний ответ.
Ответ №1:
Поэтому, чтобы переключить, на какой канал будет отправлено приветственное сообщение, вам нужно сохранить идентификатор канала где-нибудь в базе данных или прикрепить его к гильдии через collection .set . После этого в вашем случае перед отправкой сообщения вы получаете информацию от идентификатора гильдии, если он уже установил канал приветствия, поэтому отправьте сообщение на этот канал, в противном случае ничего не делайте
Комментарии:
1. Ладно, дай мне попробовать.
2. Я не знаю, как это сделать.
3. Я бы посоветовал вам использовать бд, если ваш бот перезапустится, и вы потеряете настройки, если вы .set()
4. Да, я использую MongoDB, и он работает по мере необходимости. Спасибо за помощь ^-^