Пример #1
0
        /// <summary>
        /// Allows the user to pay back their credits borrowed
        /// </summary>
        /// <param name="context">Invoke data for the user</param>
        /// <param name="returnAmount">Amount to return for the user</param>
        /// <returns></returns>
        public static async Task ReturnCredits(SocketCommandContext context, long returnAmount)
        {
            if (returnAmount > GetUserCreditsDebt(context))
            {
                await context.Message.Channel.SendMessageAsync(UserInteraction.BoldUserName(context) + $", you do not owe **{UserBankingHandler.CreditCurrencyFormatter(returnAmount)} Credits** || **{UserBankingHandler.CreditCurrencyFormatter(GetUserCreditsDebt(context))} Credits**");
            }
            else if (returnAmount <= 0)
            {
                await context.Message.Channel.SendMessageAsync(UserInteraction.BoldUserName(context) + $", you have to pay back **1 or more** Credits");
            }
            else if (returnAmount > UserCreditsHandler.GetUserCredits(context))
            {
                await context.Message.Channel.SendMessageAsync(UserInteraction.BoldUserName(context) + $", you do not have enough credits to pay back || **{UserCreditsHandler.GetUserCredits(context)}** Credits");
            }
            else
            {
                //Subtract from debt counter
                AddDebt(context, -returnAmount);
                //Subtract credits to user
                UserCreditsHandler.AddCredits(context, -returnAmount);

                //Send receipt
                await context.Message.Channel.SendMessageAsync(UserInteraction.BoldUserName(context) + $", you paid back **{UserBankingHandler.CreditCurrencyFormatter(returnAmount)} Credits**");
            }
        }
Пример #2
0
        /// <summary>
        /// Allows the user to borrow credits
        /// </summary>
        /// <param name="context">Invoke data for the user</param>
        /// <param name="borrowAmount">Amount to borrow for the user</param>
        /// <returns></returns>
        public static async Task BorrowCredits(SocketCommandContext context, long borrowAmount)
        {
            if (GetUserCreditsDebt(context) + borrowAmount > long.Parse(SettingsManager.RetrieveFromConfigFile("maxBorrow")))
            {
                await context.Message.Channel.SendMessageAsync(UserInteraction.BoldUserName(context) + $", you have exceeded your credit limit of **{UserBankingHandler.CreditCurrencyFormatter(long.Parse(SettingsManager.RetrieveFromConfigFile("maxBorrow")))} Credits**");
            }
            else if (borrowAmount <= 0)
            {
                await context.Message.Channel.SendMessageAsync(UserInteraction.BoldUserName(context) + $", you have to borrow **1 or more** Credits");
            }
            else
            {
                //Add to debt counter
                AddDebt(context, borrowAmount);
                //Add credits to user
                UserCreditsHandler.AddCredits(context, borrowAmount);

                //Send receipt
                await context.Message.Channel.SendMessageAsync(UserInteraction.BoldUserName(context) + $", you borrowed **{UserBankingHandler.CreditCurrencyFormatter(borrowAmount)} Credits**");
            }
        }