禁止在第三方渠道中使用emojireact-role

如何确保按铃时的作用仅在某个通道中起作用?代码如下。还可以使只有管理员才有权发出带有角色角色的铃声。帮助,请。

var emojiname = ["?"];
var rolename=["? Notifications"];

client.on('message',msg => {

if(msg.content.startsWith("reaction" && message.channel.name.toLowerCase() === 'information')){
    if(!msg.channel.guild) return;
        for(let n in emojiname){
            var emoji =[msg.guild.emojis.find(r => r.name == emojiname[n])];
                for(let i in emoji){
                msg.react(emoji[i]);
            }
        }
    }
});

client.on("messageReactionAdd",(reaction,user)=>{
    if(!user) return;
        if(user.bot)return;
            if(!reaction.message.channel.guild) return;
        for(let n in emojiname){
            if(reaction.emoji.name == emojiname[n]){
                let role = reaction.message.guild.roles.find(r => r.name == rolename[n]);          
            reaction.message.guild.member(user).addRole(role).catch(console.error);
        }
    }  
});

client.on("messageReactionRemove",user)=>{
    if(!user) return;
        if(user.bot)return;
            if(!reaction.message.channel.guild) return;
        for(let n in emojiname){
            if(reaction.emoji.name == emojiname[n]){
                let role = reaction.message.guild.roles.find(r => r.name == rolename[n]);   
            reaction.message.guild.member(user).removeRole(role).catch(console.error);
        }
    }
});
dong2apple 回答:禁止在第三方渠道中使用emojireact-role

在这里。
首先,请注意,有两种不和谐表情符号。 Unicode一种常见的表情符号,例如。还有添加到服务器的公会表情符号。

第一个仅由Unicode名称表示,而第二个具有ID和其他区别(请参见EmojiMessage Reaction

话虽如此,我在emojiname数组中使用了表情符号的名称。然后,我更改了一些代码以接受unicode和行会表情符号。

其余的代码很好。只需确保使用===而不是==,除非您确实想接受“虚假”一词。

demo gif

// ➡ is an ascii emoji
// lina is a guild emoji
var emojiname = ['➡','lina'];
var rolename=["➡ Notifications","lina supporter"];

client.on('message',msg => {
  if(msg.content.startsWith('reaction') && (msg.channel.name.toLowerCase() === 'information')) {
    for (let n in emojiname){
      let emoji = msg.guild.emojis.find(r => r.name === emojiname[n]);
      if (emoji === null) {
        emoji = emojiname[n];
      }
      msg.react(emoji);
    }
  }
});

client.on("messageReactionAdd",(reaction,user)=>{
  if (!user) { return; }
  if (user.bot) { return; }
  if (reaction.message.channel.name.toLowerCase() !== 'information') { return; }
  for(let n in emojiname){
    if(reaction.emoji.name === emojiname[n]){
      let role = reaction.message.guild.roles.find(r => r.name === rolename[n]);          
      reaction.message.guild.member(user).addRole(role).catch(console.error);
    }
  }  
});

client.on("messageReactionRemove",user)=>{
  if(!user) { return; }
  if(user.bot) { return; }
  if (reaction.message.channel.name.toLowerCase() !== 'information') { return; }
  for(let n in emojiname){
    if(reaction.emoji.name === emojiname[n]){
      let role = reaction.message.guild.roles.find(r => r.name == rolename[n]);   
      reaction.message.guild.member(user).removeRole(role).catch(console.error);
    }
  }
});
本文链接:https://www.f2er.com/3166259.html

大家都在问