public async Task Daily() { SandwichUser u = await udb.FindUser(Context.User.Id); if (u.lastDailyCredits.AddHours(12) < DateTime.Now) { var r = new Random(); var rand = r.Next(2, 15); if (u.IsPatron) { await udb.GiveUserCredits(u, rand * 3); await udb.UpdateCreditDate(u); await ReplyAsync($"You have earned {rand * 3} credits! Come back tomorrow for more, Patron. :wink:"); } else { await udb.GiveUserCredits(u, rand); await udb.UpdateCreditDate(u); await ReplyAsync($"You have earned {rand} credits! Come back tomorrow for more."); } } else { await ReplyAsync("Come back later for more!"); } }
public async Task Gamble(float amount) { var user = await udb.FindUser(Context.User.Id); if (user.lastTip.AddMinutes(5) < DateTime.Now) { fs.LoadPot(); if (amount < 10.0 || amount == 0.0) { await ReplyAsync("You have to bet more than 10 credits."); return; } if (user.Credits >= amount) { await ReplyAsync($"You are gambling {amount} to win the pot of {fs.Pot}. You have a much higher chance of winning if you gamble large numbers. \r\b Gambling..."); await Task.Delay(3000); var r = new Random(); var n = r.Next(1, 500); if (n <= 10) { await ReplyAsync($"Congratulations! You won! :tada: :tada: {fs.Pot} credits have been added to your account!"); user.Credits = user.Credits + fs.Pot; user.CreditsGambled = user.CreditsGambled + amount; user.lastTip = DateTime.Now; fs.Pot = 0; fs.SavePot(); } else { await ReplyAsync("Sorry! You lost. Your credits have been added to the pot. Try betting again to see if you can win them back!"); user.Credits = user.Credits - amount; user.CreditsGambled = user.CreditsGambled + amount; user.lastTip = DateTime.Now; fs.Pot = fs.Pot + amount; fs.SavePot(); } } else { await ReplyAsync("You do not have enough credits."); } } else { await ReplyAsync("Sorry, due to some issues you can only gamble every 5 minutes. D:"); } }
public async Task IsPatron(IGuildUser us) { var user = await udb.FindUser(us.Id); if (user.IsPatron) { await ReplyAsync("This user is already a Patron. We'll make it so they aint."); user.IsPatron = false; await udb.SaveChangesAsync(); } else if (!user.IsPatron) { await ReplyAsync("Alright, I've made them a patron. They know have access to SPECIAL things"); user.IsPatron = true; await udb.SaveChangesAsync(); } }
public async Task Jump() { using (Context.Channel.EnterTypingState()) { IUserMessage msg = await ReplyAsync("Attempting to skip queue."); try { var u = await _UDB.FindUser(Context.User.Id); if (u != null) { if (!u.IsPatron) { await ReplyAsync("You are not a Patron. Pledge to our(Fires) Patreon by using the `;patreon` command, then DMing Fires#1060."); return; } } else { await ReplyAsync("You aren't registered."); return; } Sandwich order = await _DB.FindOrder(Context.User.Id); if (order == null) { await ReplyAsync("Order doesn't exist."); return; } _QS.JumpOrder(order); IGuild usr = await Context.Client.GetGuildAsync(_SS.USRGuildId); ITextChannel usrc = await usr.GetTextChannelAsync(_SS.KitchenId); await usrc.SendMessageAsync($"Order `{order.Id}` jumped to front of queue."); await msg.ModifyAsync(x => { x.Content = "Successfully jumped order! Thank you, Patron :wink:"; }); } catch (Exception e) { await msg.ModifyAsync(x => { x.Content = "Failed to jump. Are you sure you have one? If this issue persists contact Fires#1060."; }); Console.WriteLine(e); } } }
public async Task HandleCommand(SocketMessage parameterMessage) { var message = parameterMessage as SocketUserMessage; if (message == null) { return; } if (message.Author.IsBot) { return; } int argPos = 0; if (!(message.HasMentionPrefix(client.CurrentUser, ref argPos) || message.HasCharPrefix(';', ref argPos))) { return; } var a = await _udb.FindUser(message.Author.Id); if (a == null) { await _udb.CreateNewUser(message.Author); } var context = new CommandContext(client, message); var result = await commands.ExecuteAsync(context, argPos, _provider); if (!result.IsSuccess) { if (result.ErrorReason.ToLower() == "unknown command.") { return; } else { await message.Channel.SendMessageAsync($"**Error:** {result.ErrorReason}"); } } }
public async Task Invite(IGuildUser user = null) { SandwichUser u; if (user == null) { u = await _udb.FindUser(Context.User.Id); } else { u = await _udb.FindUser(user.Id); } var random = new Random(); Color c; c = new Color(random.Next(1, 254), random.Next(1, 254), random.Next(1, 254)); await ReplyAsync($"{Context.User.Mention} Here is your requested information!", embed : new EmbedBuilder() .AddField(builder => { builder.Name = "**User**"; builder.Value = u.Name + "#" + u.Distin; builder.IsInline = true; }) .AddField(builder => { builder.Name = "Credits"; builder.Value = u.Credits; builder.IsInline = true; }) .AddField(builder => { builder.Name = "Level"; builder.Value = u.Level.ToString(); builder.IsInline = true; }) .AddField(builder => { builder.Name = "Orders"; builder.Value = u.Orders; builder.IsInline = true; }) .AddField(builder => { builder.Name = "Denied Orders"; builder.Value = u.Denials; builder.IsInline = true; }) .AddField(builder => { builder.Name = "DICK size"; if (u.DSize == 100) { builder.Value = "Type ;dick!"; } else { builder.Value = u.DSize + " inches."; } builder.IsInline = true; }) .AddField(builder => { builder.Name = "Credits gambled"; builder.Value = u.CreditsGambled; builder.IsInline = true; }) .WithUrl("https://discord.gg/DmGh9FT") .WithColor(c) .WithTitle("User information") .WithTimestamp(DateTime.Now)); }