Example #1
0
        private static async Task <SalgadoService> Create()
        {
            var service = new SalgadoService();
            await service.GetAuthorizationCookie();

            return(service);
        }
Example #2
0
        [Command("leaderboard")] public async Task Leaderboard()
        {
            var service = await SalgadoService.GetInstance();

            var users = await service.GetUsers();

            var orderedUsers = users.OrderByDescending(u => u.Pontos).ToArray();

            string message = "`";

            for (int i = 0; i < orderedUsers.Length; i++)
            {
                var user = orderedUsers[i];
                message += $"{i + 1,-3} -- {user.Name,-30} -- {user.Pontos}\n";
            }

            message += "`";

            await ReplyAsync(message);
        }
Example #3
0
        [Command("pontos")] public async Task Pontos([Remainder][Summary("Quem acusar")] string userName)
        {
            var service = await SalgadoService.GetInstance();

            var users = await service.GetUsersByQuery(userName);

            if (!users.Any())
            {
                await ReplyAsync($"Não encontrei nenhum usuário com nome {userName}");
            }
            else if (users.Count > 1)
            {
                await ReplyAsync($"Nome ambíguo ({string.Join(",", users.Select(u => u.Name))})");
            }
            else if (users.Count == 1)
            {
                var user = users.First();
                await ReplyAsync($"{user.Name} tem {user.Pontos} pontos");
            }
        }
Example #4
0
        //[RequireUserPermission(GuildPermission.Administrator)]
        [Command("rmvponto")] public async Task RemovePoint([Remainder][Summary("Quem tirar ponto")]
                                                            string userName)
        {
            var service = await SalgadoService.GetInstance();

            var users = await service.GetUsersByQuery(userName);

            if (!users.Any())
            {
                await ReplyAsync($"Não encontrei nenhum usuário com nome {userName}");
            }
            else if (users.Count > 1)
            {
                await ReplyAsync($"Nome ambíguo ({string.Join(",", users.Select(u => u.Name))})");
            }
            else if (users.Count == 1)
            {
                var user        = users.First();
                var updatedUser = await service.EditPoints(user.ChangePoints(user.Pontos - 1));
                await ReplyAsync($"{updatedUser.Name} agora tem {updatedUser.Pontos} pontos.");
            }
        }