Пример #1
0
        public async Task GetSafeUsers(SafeUsersCommand safeUsersCommand, Contexts contexts)
        {
            var safeUsersIds = this._checkUserSafetyService.GetSafeUsersIds(contexts.Server.Id);
            var values       = new List <KeyValuePair <string, string> >();

            foreach (var safeUserId in safeUsersIds)
            {
                var user = await this._usersService.GetUserByIdAsync(contexts.Server, safeUserId);

                values.Add(new KeyValuePair <string, string>($"{user.Mention} -", user.JoinedServerAt()?.ToLocalTimeString() ?? "nieznana data"));
            }
            var messagesService = this._messagesServiceFactory.Create(contexts);

            if (!values.Any())
            {
                await messagesService.SendEmbedMessage("Zaufani użytkownicy", "Serwer nie posiada zaufanych użytkowników", new Dictionary <string, string>());

                return;
            }
            var safeUsers = new Dictionary <string, Dictionary <string, string> >
            {
                { "Zaufani użytkownicy", new Dictionary <string, string>(values) }
            };
            await messagesService.SendEmbedMessage(
                "Zaufani użytkownicy",
                $"Lista zaufanych użytkowników na serwerze {contexts.Server.Name}",
                safeUsers);
        }
        public async Task GetSafeUsers(SafeUsersCommand safeUsersCommand, Contexts contexts)
        {
            var safeUsersIds = this._checkUserSafetyService.GetSafeUsersIds(contexts.Server.Id);
            var users        = safeUsersIds.ToAsyncEnumerable()
                               .SelectAwait(async x => await this._usersService.GetUserByIdAsync(contexts.Server, x))
                               .OrderBy(x => x.JoinedServerAt());

            var values = await users.Select(user => new KeyValuePair <string, string>($"{user.Mention} -", user.JoinedServerAt()?.ToLocalTimeString() ?? string.Empty))
                         .ToListAsync();

            var messagesService = this._messagesServiceFactory.Create(contexts);

            if (!values.Any())
            {
                await messagesService.SendEmbedMessage("Zaufani użytkownicy", "Serwer nie posiada zaufanych użytkowników", new Dictionary <string, string>());

                return;
            }
            var safeUsersDict = new Dictionary <string, Dictionary <string, string> >
            {
                { "Zaufani użytkownicy", new Dictionary <string, string>(values) }
            };
            await messagesService.SendEmbedMessage(
                "Zaufani użytkownicy",
                $"Lista zaufanych użytkowników na serwerze {contexts.Server.Name}",
                safeUsersDict);
        }