有什么方法可以延迟我的机器人赋予用户的角色?

时间:2020-07-29 08:37:17

标签: javascript bots discord.js

我想知道是否有可能以毫秒为单位,一旦用户触发命令,例如一旦用户键入“!Verify”,机器人就不会赋予角色,我的机器人就将角色赋予用户直到某个时间才向用户显示,这就是我为我的机器人设置的工作。

bot.on('ready', () => console.log(`${bot.user.tag} has logged in fucker.`));

bot.on('message', async message => {
  if (message.author.bot) return;
  
  bot.on('guildMemberAdd', member => {
    console.log(member.user.tag);
  });

  if (message.channel.id === '695566841291997244')
    await message.delete();
  if (message.content.toLowerCase() === '!verify' && message.channel.id === '695566841291997244')
  {
    
    await message.delete().catch(err => console.log(err));
    const role = message.guild.roles.cache.get('695565873515069444');
    if(role) {
      try {
      await message.member.roles.add(role);
      console.log('Role added!');
    }
    catch(err) {
      console.log(err);
      }
    }
  }
});

1 个答案:

答案 0 :(得分:2)

您可以使用表达式setTimeout()

setTimeout(async () => { 
    await message.delete().catch(err => console.log(err));
    const role = message.guild.roles.cache.get('695565873515069444');
    if(role) {
      try {
      await message.member.roles.add(role);
      console.log('Role added!');
    }
    catch(err) {
      console.log(err);
      }
    };
}, 5000);