message.author 반응 제거

Nov 04 2020

사용자가 반응 할 때의 반응을 제거하고 봇 자신의 반응을 하나만 남겨두고 싶었습니다.

나는 이미 이것에 대한 튜토리얼을 보았지만이 방법을 찾지 못했습니다.

const test = new Discord.MessageEmbed()
    .setColor("random")
    .setTitle("help")
    .setDescription(`**this a test**`)

message.channel.send(test).then(msg => {
    msg.react('📚').then(r => {
      msg.react('📌').then(r => {
          })
          })

const hiFilter = (reaction, user) => reaction.emoji.name === '📚' && user.id === message.author.id;
const hi2Filter = (reaction, user) => reaction.emoji.name === '📌' && user.id === message.author.id;

const edit = msg.createReactionCollector(hiFilter);
const edit2 = msg.createReactionCollector(hi2Filter);

edit.on('collect', r2 => {
      
      test.setTitle("test edited")
      test.setDescription("edited")

msg.edit(test)

})
})

답변

Ahsoka Nov 04 2020 at 22:15

이 코드는 반응을 추가 한 사용자의 ID가 봇의 ID가 아닌 경우 반응을 제거합니다. <Client>Discord 클라이언트를 선언 한 것으로 대체하십시오 .

edit.on('collect', (r2, user) => {
    if (user.id !== <Client>.user.id) r2.remove().catch(console.log);

    test.setTitle("test edited");
    test.setDescription("edited");

    msg.edit(test);
});