Discord.Net GetUser By Id Retorna null
Eu estava programando um bot para o Discord usando o Discord.net. Eu tenho um IGuildonde preciso obter um usuário por id, então estou usando:
var user = await guild.GetUserAsync(id, CacheMode.AllowDownload);
Isso deve obter o usuário se armazenado em cache e, se não, baixá-lo. Mas o usuário sempre é nulo.
Eu sei que o id está correto. Existe uma maneira adequada de fazer isso?
O servidor tem> 1k membros, então o download deles DownloadUsersAsyncleva muito tempo.
Respostas
Chegando tarde para a festa.
Seu problema é uma consequência direta dos novos Gateway Intents, colocados em prática pelo Discord em sua API.
Não se preocupe, essa é uma solução fácil. Apenas vá parahttps://discord.com/developers/applications, selecione seu aplicativo e vá para a seção de bots. Você está então procurando por isso . Basta habilitar o Server Members Intent .
Se tudo correr como planejado, isso deve resolver o problema de forma transparente, sem nem mesmo precisar recompilar. Além disso, fique à vontade para perguntar novamente.