public async Task Announce([Remainder] string content) { var config = GlobalUserAccounts.GetAllAccounts(); foreach (var userAcc in config) { SocketUser user = Global.Client.GetUser(userAcc.Id); await CreateMessage.CreateAndSendMessageAsync("Nayu Announcement!", content, DateTime.Now, user); GlobalUserAccounts.SaveAccounts(userAcc.Id); } await ReplyAsync($"Sent \n`{content}`\n to everyone"); }
public async Task GDLB(int page = 1) { if (page < 1) { await ReplyAsync("Are you really trying that right now? ***REALLY?***"); return; } var accounts = GlobalUserAccounts.GetAllAccounts(); const int usersPerPage = 9; // Calculate the highest accepted page number => amount of pages we need to be able to fit all users in them // (amount of users) / (how many to show per page + 1) results in +1 page more every time we exceed our usersPerPage var lastPageNumber = 1 + (accounts.Count / (usersPerPage + 1)); if (page > lastPageNumber) { await ReplyAsync($"There are not that many pages...\nPage {lastPageNumber} is the last one..."); return; } // Sort the accounts descending by duel wins var ordered = accounts.OrderByDescending(acc => acc.Wins).ToList(); var embed = new EmbedBuilder() .WithTitle($"Global Duels Leaderboard:") .WithFooter($"Page {page}/{lastPageNumber}"); page--; for (var i = 1; i <= usersPerPage && i + usersPerPage * page <= ordered.Count; i++) { var account = ordered[i - 1 + usersPerPage * page]; var user = Global.Client.GetUser(account.Id); embed.WithColor(Global.NayuColor); embed.AddField($"#{i + usersPerPage * page} {user.Username}", $"{account.Wins} Wins", true); } await ReplyAsync("", embed : embed.Build()); }
//try to get something so that all pets will experience soemthing public async void OnTimerTicked(object sender, ElapsedEventArgs e) { var config = GlobalUserAccounts.GetAllAccounts(); foreach (var userAcc in config) { Core.Entities.Chomusuke activeChomusuke = Global.NewChomusuke; if (userAcc.ActiveChomusuke == 1) { activeChomusuke = userAcc.Chomusuke1; } if (userAcc.ActiveChomusuke == 2) { activeChomusuke = userAcc.Chomusuke2; } if (userAcc.ActiveChomusuke == 3) { activeChomusuke = userAcc.Chomusuke3; } if (userAcc.Chomusuke1.Have) { if (activeChomusuke.Hunger > 0) { activeChomusuke.Hunger -= 1; } else { activeChomusuke.Hunger = 0; } if (activeChomusuke.Waste < 20) { activeChomusuke.Waste += 1; } else { activeChomusuke.Waste = 20; } var user = Global.Client.GetUser(userAcc.Id); if (activeChomusuke.Waste >= 15) { activeChomusuke.Sick = true; await CreateMessage.CreateAndSendMessageAsync("Chomusuke Alert", $":exclamation: | {user.Mention}, **{activeChomusuke.Name}** is sick! Treat it right with medicine with n!buy!", DateTime.Now, user); } if ((activeChomusuke.Waste == 20) && (activeChomusuke.Hunger <= 5)) { activeChomusuke.Trust -= 1; await CreateMessage.CreateAndSendMessageAsync("Chomusuke Alert", $":exclamation: | {user.Mention}, **{activeChomusuke.Name}** is losing trust in you! The living conditions you provided were too low... Maybe try to pay more attention to your Chomusuke!", DateTime.Now, user); } if (userAcc.ActiveChomusuke == 1) { userAcc.Chomusuke1 = activeChomusuke; } if (userAcc.ActiveChomusuke == 2) { userAcc.Chomusuke2 = activeChomusuke; } if (userAcc.ActiveChomusuke == 3) { userAcc.Chomusuke3 = activeChomusuke; } GlobalUserAccounts.SaveAccounts(userAcc.Id); } else { return; } } Console.WriteLine("Successfully executed pet crippling effects."); }