Discord.Net GetUser By Id renvoie null

Nov 09 2020

J'étais en train de coder un bot pour Discord en utilisant Discord.net. J'ai un IGuildoù je dois obtenir un utilisateur par identifiant, donc j'utilise:

var user = await guild.GetUserAsync(id, CacheMode.AllowDownload);

Cela devrait obtenir l'utilisateur s'il est mis en cache, et sinon, le télécharger. Mais l'utilisateur est nul à chaque fois.

Je sais que l'identifiant est correct. Existe-t-il une bonne façon de procéder?

Le serveur compte plus de 1 000 membres, leur téléchargement DownloadUsersAsyncprend donc beaucoup trop de temps.

Réponses

2 DJDaemonix Dec 17 2020 at 12:16

Arriver tard à la fête.

Votre problème est une conséquence directe des nouvelles intentions de passerelle, mises en place par Discord sur leur API.

Ne vous inquiétez pas, c'est une solution facile. Allez simplement àhttps://discord.com/developers/applications, sélectionnez votre application, puis accédez à la section bot. Vous recherchez alors ceci . Activez simplement l' intention des membres du serveur .

Si tout se passe comme prévu, cela devrait résoudre votre problème de manière transparente sans même avoir besoin de recompiler. En dehors de cela, n'hésitez pas à demander à nouveau.