Javascript 有什么方法可以延迟我的机器人赋予用户的角色吗?
我想知道是否可以设置一个时间(以毫秒为单位),在用户触发命令后,我的bot将角色授予用户,例如,一旦用户键入“!Verify”,bot将在某个时间之前不会将角色授予用户,这是我为我的bot设置的操作Javascript 有什么方法可以延迟我的机器人赋予用户的角色吗?,javascript,bots,discord.js,Javascript,Bots,Discord.js,我想知道是否可以设置一个时间(以毫秒为单位),在用户触发命令后,我的bot将角色授予用户,例如,一旦用户键入“!Verify”,bot将在某个时间之前不会将角色授予用户,这是我为我的bot设置的操作 bot.on('ready', () => console.log(`${bot.user.tag} has logged in fucker.`)); bot.on('message', async message => { if (message.author.bot) ret
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);
}
}
}
});
你可以使用这个表达式
你可以使用这个表达式
因为它是javascript,所以您可以使用
setTimeout
setTimeout(async()=>{await message.member.roles.add(role);},5000)
因为它是javascript,所以您可以使用setTimeout
setTimeout(async()=>{await message.member.roles.add(role);},5000)
它给我一个SyntaxError:await仅在异步函数中有效嘿,我已经更新了代码,你只需要在setTimeout中添加异步它给我一个SyntaxError:await仅在异步函数中有效嘿,我已经更新了代码,你只需要在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);