Discord.Net GetUser By Id renvoie null
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
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.