Discord.Net GetUser By Id Retorna null

Nov 09 2020

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

2 DJDaemonix Dec 17 2020 at 12:16

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.