如何显示旧状态? (discord.js)
How do I make the old status show? (discord.js)
这是到目前为止我得到的代码。我希望频道名称是例如。如果我从离线切换到在线,则会出现“在线 - 离线”。我只希望从离线到在线时名称是这样的。如果有任何其他状态变化,例如:空闲到在线,我希望它只说出新的状态名称。我该怎么做?
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);
只需使用已存储在 status
中的先前状态值:
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);
关于更改的一些说明:
status = updated;
需要移动到 之后 if
语句才能工作。
- 代码未经测试,但演示了实现此目的的简单方法。
- 根据 OP 澄清问题的评论更新了答案
这是到目前为止我得到的代码。我希望频道名称是例如。如果我从离线切换到在线,则会出现“在线 - 离线”。我只希望从离线到在线时名称是这样的。如果有任何其他状态变化,例如:空闲到在线,我希望它只说出新的状态名称。我该怎么做?
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);
只需使用已存储在 status
中的先前状态值:
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);
关于更改的一些说明:
status = updated;
需要移动到 之后if
语句才能工作。- 代码未经测试,但演示了实现此目的的简单方法。
- 根据 OP 澄清问题的评论更新了答案