Discord.Net GetUser By Id Restituisce null

Nov 09 2020

Stavo codificando un bot per Discord usando Discord.net. Ho un punto in IGuildcui devo ottenere un utente tramite ID, quindi sto usando:

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

Questo dovrebbe ottenere l'utente se memorizzato nella cache e, in caso contrario, scaricarlo. Ma l'utente è nullo ogni volta.

So che l'id è corretto. C'è un modo corretto per farlo?

Il server ha> 1k membri, quindi scaricarli DownloadUsersAsyncrichiede troppo tempo.

Risposte

2 DJDaemonix Dec 17 2020 at 12:16

Arrivando tardi alla festa.

Il tuo problema è una diretta conseguenza dei nuovi Gateway Intents, messi in atto da Discord sulla loro API.

Non preoccuparti, questa è una soluzione facile. Vai ahttps://discord.com/developers/applications, seleziona la tua app, quindi vai alla sezione bot. Stai quindi cercando questo . Abilita solo l' intento dei membri del server .

Se tutto è andato secondo i piani, questo dovrebbe risolvere il problema in modo trasparente senza nemmeno dover ricompilare. A parte questo, sentiti libero di chiedere di nuovo.