If statement 如何制作旧的状态显示?(discord.js)
这就是我目前掌握的密码。如果我从脱机切换到联机,我希望频道名称为“Online was Offline”。我只希望当它从脱机更改为联机时,名称是这种方式。如果有任何其他状态的变化,例如:空闲到在线,我希望它只说新的状态名称。我该怎么做If statement 如何制作旧的状态显示?(discord.js),if-statement,discord.js,status,If Statement,Discord.js,Status,这就是我目前掌握的密码。如果我从脱机切换到联机,我希望频道名称为“Online was Offline”。我只希望当它从脱机更改为联机时,名称是这种方式。如果有任何其他状态的变化,例如:空闲到在线,我希望它只说新的状态名称。我该怎么做 setInterval(async () => { user = client.users.cache.get(config.user); updated = client.users.cache.get(config.us
setInterval(async () => {
user = client.users.cache.get(config.user);
updated = client.users.cache.get(config.user).presence.status;
if(updated != status) {
status = updated;
if(updated == 'online') {
channel.setName('Online');
}
if(updated == 'offline') {
channel.setName('Offline');
}
if(updated == 'idle') {
channel.setName('Idle');
}
if(updated == 'dnd') {
channel.setName('DND');
}
message.edit(embed);
} else {
return
}
}, 1250);
只需使用先前存储在
状态中的状态值即可:
setInterval(async () => {
user = client.users.cache.get(config.user);
updated = client.users.cache.get(config.user).presence.status;
if(updated != status) {
if(updated == 'online') {
if (status == 'offline') {
channel.setName('Online-was-Offline');
} else {
channel.setName('Online');
}
} else if(updated == 'offline') {
channel.setName('Offline');
} else if(updated == 'idle') {
channel.setName('Idle');
} else if(updated == 'dnd') {
channel.setName('DND');
}
status = updated;
message.edit(embed);
} else {
return
}
}, 1250);
有关更改的一些注意事项:
状态=已更新代码>需要移动到if
语句之后才能工作
- 代码未经测试,但演示了实现这一点的简单方法
- 回答更新了OP澄清问题的评论
很抱歉不清楚。我希望它只在状态从脱机变为联机时才使频道名称显示“从脱机变为联机”。如果它从空闲变为在线,我只希望它说“在线”,如果它从任何其他变为任何其他,我只希望它说新的状态。谢谢你的帮助@卡尔:我已经修改了答案,希望能提供你所要求的。如果状态已从脱机
更改为联机
,则状态将显示为“联机已脱机
”,否则将仅显示新状态。谢谢!看起来不错。不过我还有一个问题。出于某种原因,当我添加这个时,它说,“SyntaxError:Unexpected token',”。它引用到:,1250)代码>。你知道为什么吗?@Carl你可能在什么地方错过了一个结束的大括号(}
)。我已经测试了上面的代码(例如,我把它放进去了),它确实有效,所以我猜是一个复制粘贴错误