Я не могу получить статус пользователя с моим ботом Discord. Решения?

Я пытаюсь, чтобы бот регулярно проверял статус конкретного пользователя. Как я могу получить статус этого пользователя?

Я не смог заставить это работать вообще, либо получая сообщение об ошибке, либо неопределенное.

Метод 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: Пользователь {} undefined

Результат 2: Невозможно прочитать свойство 'status' из undefined.

0
задан Cardboard Conglomerate 26 June 2019 в 22:31
поделиться

1 ответ

Проблемы:

Ваш первый метод не работает, потому что вы пытаетесь создать новый объект User самостоятельно. Ваше использование конструктора на самом деле неверно, но в любом случае у него не будет никаких достоверных данных. Конструктор предназначен только для внутреннего использования. User.user также не является допустимым свойством пользователя.

Ваш второй метод не работает, потому что вы пытаетесь прочитать несуществующие свойства строки.

Решение:

0. Создайте свой Discord Client с помощью конструктора 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);
0
ответ дан slothiful 26 June 2019 в 22:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: