From 95d3b05eb3e4edab4873aa4b6c02ad09734b0d36 Mon Sep 17 00:00:00 2001 From: Lan <50151341+Lannnnnnnnn@users.noreply.github.com> Date: Tue, 12 May 2020 21:15:24 +0300 Subject: [PATCH] tweaks removed gambling, tweaked reminders --- Kehyeedra3/Commands/Economy.cs | 55 +------------------ Kehyeedra3/Commands/Stuff.cs | 74 ++++++++++++++++---------- Kehyeedra3/Services/ReminderService.cs | 41 +++++++++++++- 3 files changed, 88 insertions(+), 82 deletions(-) diff --git a/Kehyeedra3/Commands/Economy.cs b/Kehyeedra3/Commands/Economy.cs index 149f90f..dbbb327 100644 --- a/Kehyeedra3/Commands/Economy.cs +++ b/Kehyeedra3/Commands/Economy.cs @@ -962,60 +962,7 @@ namespace Kehyeedra3.Commands } await Context.Channel.SendMessageAsync($"Bank has {(suser.Money + user.Money).ToYeedraDisplay()}% left"/*\nSkuld can currently sell a maximum of {suser.Money * 64}₩ at 0.0001% = 64₩ exchange rate*/); } - [Command("bet"), Summary("Gamble %coins in units of 0.0001%.")] - public async Task Gamble(int wager) - { - int res1 = SRandom.Next(0, 101); - int res2 = SRandom.Next(0, 101); - int loss = wager; - - if (res1 > res2) - { - wager += wager; - } - else if (res1 < res2) - { - loss += wager; - } - - using (var Database = new ApplicationDbContextFactory().CreateDbContext()) - { - var user = Database.Users.FirstOrDefault(x => x.Id == Context.User.Id); - var buser = Database.Users.FirstOrDefault(x => x.Id == 0); - if (user == null || user.Money < loss) - { - await Context.Channel.SendMessageAsync($"{Context.User.Mention}\n You can't afford that, go back to the mines."); - return; - } - else - { - if (buser.Money > 100) - { - if (!user.GrantMoney(Database.Users.FirstOrDefault(x => x.Id == 0), wager - loss)) - { - await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nBank has no money, gamble more and lose please."); - return; - } - await Database.SaveChangesAsync(); - string result = ""; - if ((wager - loss) > 0) - { - result = $"Rolled: **{res1}** against **{res2}**\nResult: +{((long)(wager - loss)).ToYeedraDisplay()}%\nBalance: {user.Money.ToYeedraDisplay()}%"; - await ReplyAsync($"{Context.User.Mention}\n{result}"); - } - if ((wager - loss) < 0) - { - result = $"Rolled: **{res1}** against **{res2}**\nResult: {((long)(wager - loss)).ToYeedraDisplay()}%\nBalance: {user.Money.ToYeedraDisplay()}%"; - await ReplyAsync($"{Context.User.Mention}\n{result}"); - } - } - else - { - await ReplyAsync($"{Context.User.Mention}\nHey, stop that."); - } - } - } - } + [Command("leaderboard"), Alias("top", "lb"), Summary("Shows the top 10 people in a leaderboard, currently available leaderboards: 'f, fish', 'm, money'.")] public async Task Leaderboard(string type = null) { diff --git a/Kehyeedra3/Commands/Stuff.cs b/Kehyeedra3/Commands/Stuff.cs index 4e7d8d3..f8c559c 100644 --- a/Kehyeedra3/Commands/Stuff.cs +++ b/Kehyeedra3/Commands/Stuff.cs @@ -108,7 +108,6 @@ namespace Kehyeedra3.Commands { string remin = ""; string refix = ""; - string resuff = ""; ulong sen = (d * 86400) + (h * 3600) + (m * 60); ulong yeedraStamp = DateTime.UtcNow.ToYeedraStamp(); @@ -156,50 +155,71 @@ namespace Kehyeedra3.Commands if (d == 0 && h == 0 && m == 0) { refix += "right now"; - resuff += " just now"; } else { refix += "in"; - resuff += " ago"; } - - if (sen < 63072000) + if (sen != 0) { - var reminder = new Reminder + if (sen < 63072000) { - UserId = Context.User.Id, - Message = $"**Reminder from{remin}{resuff}:**\n\n''{r}''", - Created = yeedraStamp, - Send = sen + yeedraStamp - }; + var reminder = new Reminder + { + UserId = Context.User.Id, + Message = $"{r}", + Created = yeedraStamp, + Send = sen + yeedraStamp + }; - using (var Database = new ApplicationDbContextFactory().CreateDbContext()) - { - Database.Reminders.Add(reminder); + using (var Database = new ApplicationDbContextFactory().CreateDbContext()) + { + Database.Reminders.Add(reminder); - await Database.SaveChangesAsync().ConfigureAwait(false); + await Database.SaveChangesAsync().ConfigureAwait(false); + } } + else + { + await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nAre you sure you need a reminder 2 years in the future..? \nAre you stupid?"); + return; + } + + await Context.Channel.SendMessageAsync($"{Context.User.Mention}\nOk, I'll remind you {refix}{remin}."); } else { - await Context.Channel.SendMessageAsync($"{Context.User.Mention}\n Are you sure you need a reminder 2 years in the future..? \nAre you stupid?"); - return; + var dmchannel = await Bot._bot.GetUser(Context.User.Id).GetOrCreateDMChannelAsync(); + await dmchannel.SendMessageAsync($"**You literally just told me to DM you:**\n\n{r}"); } - - await Context.Channel.SendMessageAsync($"{Context.User.Mention}\n Ok, I'll remind you {refix}{remin}."); } - [Command("dab"), Summary("Dabs a person")] - public async Task Dab(IGuildUser user = null) + [Command("reminders",RunMode = RunMode.Async), Summary("List reminders")] + public async Task ListReminders(string manage = null) { - if (user == null) + using (var Database = new ApplicationDbContextFactory().CreateDbContext()) { - await Context.Channel.SendMessageAsync($"You put a dab of creamy sauce on your delicious, crunchy fishstick.\nYou have gained +5 calories."); - } - else - { - await Context.Channel.SendMessageAsync($"You give your good friend {user.Mention} a dab of creamy sauce to enjoy with their delicious, crunchy fishstick.\n{user.Mention} has gained +5 calories."); + string rlist = ""; + var user = Context.User; + foreach (Reminder reminder in Database.Reminders) + { + if (reminder.UserId == Context.User.Id) + { + rlist += $"ID: {reminder.Id} Made at: **GMT{reminder.Created.FromYeedraStamp()}**\n"; + } + } + if (manage == null) + { + await Context.Channel.SendMessageAsync(rlist); + return; + } + //else + //{ + // await Context.Channel.SendMessageAsync($"Which reminder would you like to edit?\n\n{rlist}"); + // var reply = await NextMessageAsync(); + // long rep = long.Parse(reply.Content); + // if (rep ==) + //} } } } diff --git a/Kehyeedra3/Services/ReminderService.cs b/Kehyeedra3/Services/ReminderService.cs index 968fa1f..0ba8812 100644 --- a/Kehyeedra3/Services/ReminderService.cs +++ b/Kehyeedra3/Services/ReminderService.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Security; using System.Threading.Tasks; using Kehyeedra3.Services.Models; @@ -13,7 +14,45 @@ namespace Kehyeedra3.Services var dmchannel = await Bot._bot.GetUser(reminder.UserId).GetOrCreateDMChannelAsync(); if (dmchannel != null) { - await dmchannel.SendMessageAsync(reminder.Message); + ulong m = (reminder.Send - reminder.Created) / 60; + ulong h = 0; + ulong d = 0; + while (m > 59) + { + h += 1; + m -= 60; + } + while (h > 23) + { + d += 1; + h -= 24; + } + string remin = ""; + if (d > 0) + { + remin += $" {d} day"; + if (d > 1) + { + remin += $"s"; + } + } + if (h > 0) + { + remin += $" {h} hour"; + if (h > 1) + { + remin += $"s"; + } + } + if (m > 0) + { + remin += $" {m} minute"; + if (m > 1) + { + remin += $"s"; + } + } + await dmchannel.SendMessageAsync($"**Reminder from{remin} ago:**\n\n''{reminder.Message}''"); } } public async Task Tick()