Удаление канала с помощью реакций discord.js

#discord.js

#discord.js

Вопрос:

У меня есть небольшой вопрос. В настоящее время я пытаюсь создать бота для тикетов, и у меня возникла идея сделать так, чтобы при вводе пользователем !close он представлял ему вставку, спрашивая его, действительно ли он хочет закрыть его с помощью реакций (:корзина для мусора: для да, : x: для Нет).

Если пользователь ответит утвердительно, канал закроется. Что касается Нет, сообщение о внедрении будет удалено.

Ответ №1:

Я буду рад помочь.

Вы можете использовать что-то вроде этого:

 const prevMsg = message
message.channel.send(embed).then(message => {
  const questionMessage = message;
  questionMessage.react('🗑️')
  .then(() => questionMessage.react('❌'));
  const filter = (reaction, user) => {
    return ['🗑️', '❌'].includes(reaction.emoji.name) amp;amp; user.id === prevMsg.author.id;
};

  questionMessage.awaitReactions(filter, { max: 1, time: 60000, errors: ['time'] })
    .then(collected => {
        const reaction = collected.first();

        if (reaction.emoji.name === '🗑️') {
            // closing function here
        } else {
            questionMessage.delete();
        }
    })
})
  

Если это не сработало, пожалуйста, дайте мне знать!

Комментарии:

1. Привет, прежде всего, большое спасибо за помощь! К сожалению, пока само сообщение работает и на него реагируют, реагирование на сообщения, похоже, ничего не дает. Есть ли что-то, что мне нужно отредактировать, что я пропустил?

2. Есть ли что-нибудь в консоли?

3. Не похоже, нет. Хотите, я отправлю вам полный код через Discord?

4. Я думаю, у меня есть решение. К сожалению, мне нужно выйти из дома на час или два. Я дам вам знать, когда вернусь.

5. Никакой спешки! Я очень ценю вашу помощь, мой мужчина: 3