我正在尝试让漫游器定期检查特定用户的状态。如何获取该用户的状态?
我根本无法使它正常工作,无论是收到错误消息还是未定义。
方法1:
var test = new Discord.User("*userid*");
function findStatus() {
var status = test.user;
console.log(test);
console.log(status);
}
方法2:
var status = "*userid*".presence.status;
我期望的是一个字符串(“在线”,“空闲”,“离线”),说明用户的状态。
结果1: 用户{} 未定义
结果2: 无法读取未定义的属性“状态”。
答案 0 :(得分:0)
问题:
您的第一个方法不起作用,因为您尝试自己构造一个新的User对象。您对构造函数的使用实际上是不正确的,但是无论如何它不会有任何有效的数据。构造函数只能在内部使用。 User.user
也不是用户的有效属性。
您的第二种方法不起作用,因为您正在尝试读取字符串不存在的属性。
解决方案:
0。通过Client构造函数创建Discord Client。
1.要从Discord中检索用户,请使用Client.fetchUser()
方法。
2.要检查其状态,请使用User.presence
和Presence.status
。
client.fetchUser('someID')
.then(user => {
if (!user) return console.error('Unable to find user.');
const status = user.presence.status;
console.log(`${user.tag}'s status is ${status.toUpperCase()}.`);
})
.catch(console.error);