예제 #1
0
        public async Task ListUnconfirmedUsersAsync(AutoroleConfiguration autorole)
        {
            var getUsers = _autoroles.GetUnconfirmedUsers(autorole);

            if (!getUsers.IsSuccess)
            {
                await _feedback.SendErrorAsync(this.Context, getUsers.ErrorReason);

                return;
            }

            var users = await getUsers.Entity.ToListAsync();

            var discordUsers = await Task.WhenAll
                               (
                users.Select(u => this.Context.Guild.GetUserAsync((ulong)u.DiscordID))
                               );

            var listMessage = PaginatedEmbedFactory.SimpleFieldsFromCollection
                              (
                _feedback,
                _interactivity,
                this.Context.User,
                discordUsers,
                u => $"{u.Nickname} ({u.Username}#{u.Discriminator} | {u.Id})",
                u => "Not confirmed",
                "There are no users that haven't been confirmed for that role."
                              );

            await _interactivity.SendInteractiveMessageAndDeleteAsync
            (
                this.Context.Channel,
                listMessage,
                TimeSpan.FromMinutes(5)
            );
        }