Exemplo n.º 1
0
        public async Task Top10()
        {
            var activity = await _activitiesRepository.Find((IGuildUser)Context.User);

            activity.PickupTop10 += 1;
            await _activitiesRepository.Update(activity);

            var list = await _activitiesRepository.List(Context.Guild.Id);

            var activities = list as SubscriberActivities[] ?? list.ToArray();

            if (activities.IsNullOrEmpty())
            {
                BotMessageHelper.AutoRemoveMessage(await ReplyAsync("No data yet, get active!"), 10);
                return;
            }

            var users = Context.Guild.Users
                        .Where(w => activities.Select(x => Convert.ToUInt64(x.RowKey)).Contains(w.Id))
                        .ToList();

            var embed = new EmbedBuilder
            {
                Title = "Top 10"
            };

            AddTopPlayers(embed, users, activities, a => a.PickupCreate, "create");
            AddTopPlayers(embed, users, activities, a => a.PickupAdd, "add");
            AddTopPlayers(embed, users, activities, a => a.PickupPromote, "promote", "spammers");
            AddTopPlayers(embed, users, activities, a => a.PickupTop10, "top10", "stats junkies");

            await ReplyAsync(embed : embed.Build()).AutoRemoveMessage(60);
        }
Exemplo n.º 2
0
        public async Task GetAll()
        {
            var flaggedUsers = await _flagRepository.List(Context.Guild.Id.ToString());

            BotMessageHelper.AutoRemoveMessage(
                //flag user so they can't be added to pickup queues
                await ReplyAsync($"**Flagged users:**{Environment.NewLine}{string.Join(", ", flaggedUsers.Select((u, i) => $"{i + 1}. {u.Name}`"))}")
                );
        }
Exemplo n.º 3
0
        public async Task UnFlagUser([Summary("User to un-flag")] IGuildUser user)
        {
            if (user == null)
            {
                return;
            }

            await _flagRepository.UnFlag(user);

            BotMessageHelper.AutoRemoveMessage(
                //flag user so they can't be added to pickup queues
                await ReplyAsync($"User {user.Mention} has been un-flagged by {Context.User.Mention} and can now subscribe to pickup queues")
                );
        }
Exemplo n.º 4
0
        public async Task Version()
        {
            var version   = Assembly.GetEntryAssembly()?.GetName().Version;
            var framework = System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription;

            var versionDescription =
                $"**Version: ** _{version}_ {Environment.NewLine}" +
                $"Powered by **{framework}** and deployed from commit [{_appVersionInfo.ShortGitHash}](https://github.com/Floydan/discord-pickup-bot/commit/{_appVersionInfo.GitHash}){Environment.NewLine}" +
                $"_© Copyright {DateTime.Now.Year}, [Floydan](https://github.com/Floydan/)_";

            var embed = new EmbedBuilder()
                        .WithDescription(versionDescription)
                        .WithColor(Color.LightOrange);

            BotMessageHelper.AutoRemoveMessage(
                await ReplyAsync(embed: embed.Build()),
                15);
        }