/// <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**"); } }
/// <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**"); } }