【发布时间】:2021-08-07 08:53:11
【问题描述】:
我最近将此添加到我的机器人中,它会检查角色并在发送用户声明时间的通道中发送消息。
module.exports = {
name: 'giveaway',
description: ':tada: the new winner is',
execute(message, args){
let winner = message.mentions.members.first();
const ouser = message.mentions.users.first();
var time = 10000;
var support = 0;
var donate = 0;
var boost = 0;
const allowedRole = winner.roles.cache.find(r => r.name === '・Supporter') || winner.roles.cache.find(r => r.name === 'Nitro・Donator') || winner.roles.cache.find(r => r.name === '・Booster')
if (!allowedRole) {
message.channel.send(`Congratulations **${ouser.username}**! You have ${time / 1000} seconds to DM the host!`)
.then(message => {
setTimeout(function() {
message.channel.send(`${time / 1000} seconds up!`)
}, time)
})
return;
}
switch (allowedRole.name) {
case '・Supporter':
support = 3000;
break;
case 'Nitro・Donator':
donate = 5000;
break;
case '・Booster':
boost = 5000;
}
var newTime = (time + support + donate + boost));
const user = message.mentions.users.first();
message.channel.send(`Congratulations **${user.username}**! You have ${newTime / 1000} seconds to DM the host!`)
.then(message => {
setTimeout(function() {
message.channel.send(`${newTime / 1000} seconds up!`)
}, newTime)
})
}
}
由于+ 不起作用,我不确定如何添加总索赔时间。我尝试使用time - (- support) - (-donate) - (-boost)),但它只显示了 13 秒(支持者角色)。有什么解决办法吗?
【问题讨论】:
-
您是否尝试根据用户的角色设置赠品持续时间?就像如果用户既是“支持者”又是“助推器”,您希望持续时间为
18 sec? -
是的,机器人计算所有角色,所以“支持”和“助推器”=
18 s是的,它应该加起来时间
标签: node.js discord.js roles