如何让一个不和谐的 js 机器人在某人获得某个角色后向他发送消息

Posted

技术标签:

【中文标题】如何让一个不和谐的 js 机器人在某人获得某个角色后向他发送消息【英文标题】:How to make an discord js bot to message in dm someone after he gets a certain role 【发布时间】:2021-08-16 23:02:32 【问题描述】:

我的代码:

const Discord = require('discord.js');
const client = new Discord.Client(); 
const prefix = '$';

client.once('ready' , () => 
    console.log('M-am trezit din morti!');
);

client.on('message' , message  =>
   if(!message.content.startsWith(prefix) || message.author.bot) return;

   const args = message.content.slice(prefix.length).split(/ +/);
   const command= args.shift().toLowerCase();

   if(command === 'about')
       
   else if(command === 'troll')
       const messages = ["Esti un ratat!!", "Akatsuki este cel mai tare!", "Lui Tobi ii plac baietii!", "Invata sa joci, noobule!" , "Esti pe langa cu jocul!", "Cum naiba ai ajuns in factiunea asta?"]

       const randomMessage = messages[Math.floor(Math.random() * messages.length)];
    
       message.channel.send(randomMessage)
   
);

client.login('notgonnashowit');

【问题讨论】:

【参考方案1】:

你可以这样使用:

    client.on("guildMemberUpdate", (oldMember, newMember) => 
      // when Member is updated check if the Member has a role by ID
      if (newMember._roles.includes("ROLE ID HERE"))
          // then DM them
          newMember.send('message to dm');
         
    );

要使用上述内容,您必须在机器人仪表板中打开 SERVER MEMBERS INTENT:

【讨论】:

您也可以分配角色,然后使用.then() 发送消息。这可能比添加一个新的事件监听器更容易。 我如何添加它?它似乎不起作用。当我把东西放在那里时它就不起作用

以上是关于如何让一个不和谐的 js 机器人在某人获得某个角色后向他发送消息的主要内容,如果未能解决你的问题,请参考以下文章

如何让我的不和谐机器人列出某个角色的人?

有没有办法检查何时添加了某人的角色? [不和谐.js]

我的不和谐机器人有某种角色错误

我如何在不和谐中获得机器人(客户端)的最高角色

我如何制作一个不和谐机器人,当我在 Javascript 中键入某个短语时,它只会给我一个角色?

如何在命令中创建一个自定义不和谐机器人@某人@某人?