Example #1
0
        private async Task DoTransferIfFullfillConditions(UserAccount sender, UserAccount recipient, int amount)
        {
            TimeSpan requiredTime = new TimeSpan(Config.Bot.timeTransfer);

            if (!Misceleanous.WasRequiredTimeElapsed(sender.lastTransfer, requiredTime))
            {
                TimeSpan waitingTime = sender.lastTransfer + requiredTime - DateTime.Now;
                await Context.Channel.SendMessageAsync($"Kolejny przelew dostepny za " +
                                                       $"`{waitingTime.Minutes}m:{waitingTime.Seconds}s`.");

                return;
            }

            if (sender.Cash < amount)
            {
                await Context.Channel.SendMessageAsync($"Tfu, biedaku robaku. Nie masz tyle hajsu.");

                return;
            }

            if (amount < Config.Bot.minimalTransfer)
            {
                await Context.Channel.SendMessageAsync($"Minimalna kwota przelewu to **{Config.Bot.minimalTransfer}** dudow.");

                return;
            }

            await DoTransfer(sender, recipient, amount);
        }
Example #2
0
        public async Task PlayRoulette(int placedCash)
        {
            var account = UserAccounts.GetAccount(Context.User);

            TimeSpan requiredTime = new TimeSpan(0, 0, Config.Bot.timeRoulette);

            if (!Misceleanous.WasRequiredTimeElapsed(account.lastRoulette, requiredTime))
            {
                TimeSpan waitingTime = account.lastRoulette + requiredTime - DateTime.Now;
                await Context.Channel.SendMessageAsync($"Kolejna gra dostepna za " +
                                                       $"`{waitingTime.Minutes}m:{waitingTime.Seconds}s`.");

                return;
            }

            if (placedCash > account.Cash)
            {
                await Context.Channel.SendMessageAsync($"Kanciarza chcesz kantowac?");

                return;
            }

            if (placedCash < 20)
            {
                await Context.Channel.SendMessageAsync($"Minimalna kwota zakladu to 20 dudow.");

                return;
            }

            double chance = CountChance(account.Cash, placedCash);
            Prize  prize  = DoDraw(placedCash, chance);

            if (prize.Cash > 0)
            {
                await Context.Channel.SendMessageAsync($"{Context.User.Mention} **WYGRALES!** Miales na to szanse **{(int)chance}%** i zarobiles **{prize.Cash}** dudow. Dodatkowo dostajesz {prize.XP} punktow statusu spolecznego.");
            }
            else
            {
                await Context.Channel.SendMessageAsync($"{Context.User.Mention} **PRZEGRALES.** Szansa na wygrana wynosila **{(int)chance}%** i straciles **{prize.Cash}** dudow. Udalo ci sie za to dostac **{prize.XP}** punktow statusu spolecznego.");
            }

            GivePrize(account, prize);
        }
Example #3
0
        private bool CanOpen(UserAccount account)
        {
            TimeSpan requiredTime = new TimeSpan(0, 0, Config.Bot.timeCase);

            if (!Misceleanous.WasRequiredTimeElapsed(account.lastCaseOpen, requiredTime))
            {
                TimeSpan waitingTime = account.lastCaseOpen + requiredTime - DateTime.Now;
                Context.Channel.SendMessageAsync($"Kolejna skrzynke otworzysz za `{waitingTime.Seconds}s`.");
                return(false);
            }

            if (account.NumberOfCases == 0 || account.NumberOfKeys == 0)
            {
                Context.Channel.SendMessageAsync("Nie posiadasz skrzynki lub klucza");
                return(false);
            }

            return(true);
        }
Example #4
0
        public async Task Give10Cash()
        {
            var account = UserAccounts.GetAccount(Context.User);

            TimeSpan requiredTime = new TimeSpan(0, 0, Config.Bot.time10);

            if (Misceleanous.WasRequiredTimeElapsed(account.last10Use, requiredTime))
            {
                account.Cash += 10;
                await Context.Channel.SendMessageAsync($"**10** dudow dla ksieciunia!");

                account.last10Use = DateTime.Now;
                UserAccounts.SaveAccounts();
            }
            else
            {
                TimeSpan waitingTime = account.last10Use + requiredTime - DateTime.Now;
                await Context.Channel.SendMessageAsync($"Ejze, Menelaosie. Poczekaj ze " +
                                                       $"`{waitingTime.Minutes}m:{waitingTime.Seconds}s` na kolejny datek!");
            }
        }
Example #5
0
        public async Task Give500Cash()
        {
            var      account      = UserAccounts.GetAccount(Context.User);
            TimeSpan requiredTime = new TimeSpan(0, 0, Config.Bot.time500);

            if (Misceleanous.WasRequiredTimeElapsed(account.last500Use, requiredTime))
            {
                account.Cash += 500;
                await Context.Channel.SendMessageAsync($"Gratuluje dziecka! Dostales **500** dudow.");

                account.last500Use = DateTime.Now;
                UserAccounts.SaveAccounts();
            }
            else
            {
                TimeSpan waitingTime = account.last500Use + requiredTime - DateTime.Now;
                await Context.Channel.SendMessageAsync($"Hola hola, musisz poczekac jeszcze " +
                                                       $"`{waitingTime.Hours}h:{waitingTime.Minutes}m` " +
                                                       $"zanim bedziesz mogl pobrac kolejne swiadczenie!.");
            }
        }