Определение существования пользователя в клиенте Discord (Discord.js)

Я пытался определить, существует ли пользователь на самом клиенте Discord... Я использовал это:

var user_id;

//on message and after assigning user_id
if (client.users.cache.get(user_id) !== undefined) {
//checks if user does exist on the client and does action (it always thinks it's undefined for some reason)
}

Вы можете помочь мне? Я ценю всю вашу помощь...

Спасибо, Игры Рако

Вы пробовали это: client.fetch(user_id)?

John 10.12.2020 07:59
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
1 060
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Добро пожаловать в СО! Вот как бы я это сделал. UserManager#Cache — это коллекция, поэтому вы можете использовать Collection#has, чтобы проверить, существует ли то, что вы ищете. Демо:

const userId = "000000000000000000";
const exists = client.users.cache.has(userId);
console.info(exists); // true or false

// Advice to stop making cringe code --no worries, we've all been there before ;)
if (exists) doSomething(); // And not: if (exists === true), although it still can be used in other places
if (!exists) do SomethingElse(); // And definitely not: if (exists === false)

Конечно, это будет искать в кеше, поэтому это не сработает, если пользователь ничего не делал, пока ваш бот работал. Чтобы получить и проверить, существует ли пользователь с помощью UserManager#fetch:

const exists = await client.users.fetch(userId); // Warning: await here. To be used in async functions, or to be replaced by .then()
// Here, the user is cached
console.info(exists); // undefined or User; can be check as in the snippet above. You can still wrap 'exists' with Boolean() if you feel more comfortable having boolean values

Да, это работает, если я использую: if (exists = true){} Спасибо!

Rako Games 10.12.2020 08:10

Другие вопросы по теме