Discord.Net GetUser By Id devuelve nulo
Estaba codificando un bot para Discord usando Discord.net. Tengo un lugar IGuilddonde necesito obtener un usuario por identificación, así que estoy usando:
var user = await guild.GetUserAsync(id, CacheMode.AllowDownload);
Esto debería obtener al usuario si se almacena en caché, y si no, descargarlo. Pero el usuario es nulo todo el tiempo.
Sé que la identificación es correcta. ¿Existe una forma adecuada de hacer esto?
El servidor tiene más de 1k miembros, por lo que descargarlos DownloadUsersAsynclleva demasiado tiempo.
Respuestas
Llegando tarde a la fiesta.
Su problema es una consecuencia directa de los nuevos Gateway Intents, implementados por Discord en su API.
No se preocupe, esta es una solución fácil. Solo ve ahttps://discord.com/developers/applications, seleccione su aplicación, luego vaya a la sección de bots. Entonces estás buscando esto . Simplemente habilite la intención de los miembros del servidor .
Si todo salió según lo planeado, esto debería solucionar su problema de forma transparente sin necesidad de volver a compilar. Aparte de eso, no dude en volver a preguntar.