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); }
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}`"))}") ); }
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") ); }
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); }