Я думал, что спрашиваю здесь на Stackoverflow. Моя проблема в том, что я несколько раз пытался получить пользовательские гильдии определенного сервера / канала.
Моей первой попыткой было создать класс:
using Discord.Commands;
using Discord.WebSocket;
using System.Threading.Tasks;
using System.Collections.Generic;
namespace DiscordBot
{
class AllUsersGetter : ModuleBase<SocketCommandContext>
{
public IReadOnlyCollection<SocketGuildUser> Users;
public async Task Traitement()
{
Users = Context.Guild.Users;
}
}
}
Но это была моя более глупая идея. Я сделал это потом:
AllUsersGetter allUsersGetter = new AllUsersGetter();
allUsersGetter.Traitement();
var u = allUsersGetter.Users;
Но потом я получил исключение, что мне нужна ссылка на объект, который не был дан.
private IList<SocketGuildUser> guidData;
public async void MainAsync() {
string token = "";
client = new DiscordSocketClient(new DiscordSocketConfig() {
LogLevel = LogSeverity.Verbose
});
DiscordRestClient = new DiscordRestClient(new DiscordRestConfig() {
LogLevel = LogSeverity.Verbose
});
client.Log += Log;
try {
await client.LoginAsync(TokenType.Bot, token);
client.MessageReceived += MessageReceived;
client.Connected += Client_Connected;
await client.StartAsync();
} catch (Exception exc) {
StatusLabel.Text = exc.Message;
}
await Task.Delay(-1);
}
Вывод: Я не в курсе ...
Я просто хочу получить массив всех пользователей, расположенных на определенном сервере / канале.