Beispiel #1
0
        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:");
            }
        }
Beispiel #3
0
        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);
                }
            }
        }
Beispiel #5
0
        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));
        }