From bed1acd6cbf33ef9b2bf06280f73670289677630 Mon Sep 17 00:00:00 2001
From: idinium96 <idin100msc@gmail.com>
Date: Sat, 1 Aug 2020 04:25:12 +0800
Subject: [PATCH] fix !adjustrate command with autokeys enabled

---
 src/classes/MyHandler.ts | 56 ++++++++++++++++++++++++++--------------
 1 file changed, 36 insertions(+), 20 deletions(-)

diff --git a/src/classes/MyHandler.ts b/src/classes/MyHandler.ts
index 49e8954b3..83b7a3900 100644
--- a/src/classes/MyHandler.ts
+++ b/src/classes/MyHandler.ts
@@ -1948,13 +1948,15 @@ Autokeys status:-
     }
 
     private createAutokeysSell(userMinKeys: number, userMaxKeys: number): void {
-        const keyPrice = this.bot.pricelist.getKeyPrices();
+        const keyPrices = this.bot.pricelist.getKeyPrices();
         let entry;
         if (this.isUsingAutoPrice) {
             entry = {
                 sku: '5021;6',
                 enabled: true,
-                autoprice: true,
+                autoprice: false,
+                buy: { keys: keyPrices.buy.keys, metal: keyPrices.buy.metal },
+                sell: { keys: keyPrices.sell.keys, metal: keyPrices.sell.metal },
                 max: userMaxKeys,
                 min: userMinKeys,
                 intent: 1
@@ -1966,11 +1968,11 @@ Autokeys status:-
                 autoprice: false,
                 sell: {
                     keys: 0,
-                    metal: Currencies.toRefined(keyPrice.sell.toValue() - this.scrapAdjustmentValue)
+                    metal: Currencies.toRefined(keyPrices.sell.toValue() - this.scrapAdjustmentValue)
                 },
                 buy: {
                     keys: 0,
-                    metal: Currencies.toRefined(keyPrice.buy.toValue() - this.scrapAdjustmentValue)
+                    metal: Currencies.toRefined(keyPrices.buy.toValue() - this.scrapAdjustmentValue)
                 },
                 max: userMaxKeys,
                 min: userMinKeys,
@@ -1989,13 +1991,15 @@ Autokeys status:-
     }
 
     private createAutokeysBuy(userMinKeys: number, userMaxKeys: number): void {
-        const keyPrice = this.bot.pricelist.getKeyPrices();
+        const keyPrices = this.bot.pricelist.getKeyPrices();
         let entry;
         if (this.isUsingAutoPrice) {
             entry = {
                 sku: '5021;6',
                 enabled: true,
-                autoprice: true,
+                autoprice: false,
+                buy: { keys: keyPrices.buy.keys, metal: keyPrices.buy.metal },
+                sell: { keys: keyPrices.sell.keys, metal: keyPrices.sell.metal },
                 max: userMaxKeys,
                 min: userMinKeys,
                 intent: 0
@@ -2007,11 +2011,11 @@ Autokeys status:-
                 autoprice: false,
                 sell: {
                     keys: 0,
-                    metal: Currencies.toRefined(keyPrice.sell.toValue() + this.scrapAdjustmentValue)
+                    metal: Currencies.toRefined(keyPrices.sell.toValue() + this.scrapAdjustmentValue)
                 },
                 buy: {
                     keys: 0,
-                    metal: Currencies.toRefined(keyPrice.buy.toValue() + this.scrapAdjustmentValue)
+                    metal: Currencies.toRefined(keyPrices.buy.toValue() + this.scrapAdjustmentValue)
                 },
                 max: userMaxKeys,
                 min: userMinKeys,
@@ -2030,10 +2034,13 @@ Autokeys status:-
     }
 
     private createAutokeysBanking(userMinKeys: number, userMaxKeys: number): void {
+        const keyPrices = this.bot.pricelist.getKeyPrices();
         const entry = {
             sku: '5021;6',
             enabled: true,
-            autoprice: true,
+            autoprice: false,
+            buy: { keys: keyPrices.buy.keys, metal: keyPrices.buy.metal },
+            sell: { keys: keyPrices.sell.keys, metal: keyPrices.sell.metal },
             max: userMaxKeys,
             min: userMinKeys,
             intent: 2
@@ -2070,13 +2077,15 @@ Autokeys status:-
     }
 
     private updateAutokeysSell(userMinKeys: number, userMaxKeys: number): void {
-        const keyPrice = this.bot.pricelist.getKeyPrices();
+        const keyPrices = this.bot.pricelist.getKeyPrices();
         let entry;
         if (this.isUsingAutoPrice) {
             entry = {
                 sku: '5021;6',
                 enabled: true,
-                autoprice: true,
+                autoprice: false,
+                buy: { keys: keyPrices.buy.keys, metal: keyPrices.buy.metal },
+                sell: { keys: keyPrices.sell.keys, metal: keyPrices.sell.metal },
                 max: userMaxKeys,
                 min: userMinKeys,
                 intent: 1
@@ -2088,11 +2097,11 @@ Autokeys status:-
                 autoprice: false,
                 sell: {
                     keys: 0,
-                    metal: Currencies.toRefined(keyPrice.sell.toValue() - this.scrapAdjustmentValue)
+                    metal: Currencies.toRefined(keyPrices.sell.toValue() - this.scrapAdjustmentValue)
                 },
                 buy: {
                     keys: 0,
-                    metal: Currencies.toRefined(keyPrice.buy.toValue() - this.scrapAdjustmentValue)
+                    metal: Currencies.toRefined(keyPrices.buy.toValue() - this.scrapAdjustmentValue)
                 },
                 max: userMaxKeys,
                 min: userMinKeys,
@@ -2111,13 +2120,15 @@ Autokeys status:-
     }
 
     private updateAutokeysBuy(userMinKeys: number, userMaxKeys: number): void {
-        const keyPrice = this.bot.pricelist.getKeyPrices();
+        const keyPrices = this.bot.pricelist.getKeyPrices();
         let entry;
         if (this.isUsingAutoPrice) {
             entry = {
                 sku: '5021;6',
                 enabled: true,
-                autoprice: true,
+                autoprice: false,
+                buy: { keys: keyPrices.buy.keys, metal: keyPrices.buy.metal },
+                sell: { keys: keyPrices.sell.keys, metal: keyPrices.sell.metal },
                 max: userMaxKeys,
                 min: userMinKeys,
                 intent: 0
@@ -2129,11 +2140,11 @@ Autokeys status:-
                 autoprice: false,
                 sell: {
                     keys: 0,
-                    metal: Currencies.toRefined(keyPrice.sell.toValue() + this.scrapAdjustmentValue)
+                    metal: Currencies.toRefined(keyPrices.sell.toValue() + this.scrapAdjustmentValue)
                 },
                 buy: {
                     keys: 0,
-                    metal: Currencies.toRefined(keyPrice.buy.toValue() + this.scrapAdjustmentValue)
+                    metal: Currencies.toRefined(keyPrices.buy.toValue() + this.scrapAdjustmentValue)
                 },
                 max: userMaxKeys,
                 min: userMinKeys,
@@ -2152,10 +2163,13 @@ Autokeys status:-
     }
 
     private updateAutokeysBanking(userMinKeys: number, userMaxKeys: number): void {
+        const keyPrices = this.bot.pricelist.getKeyPrices();
         const entry = {
             sku: '5021;6',
             enabled: true,
-            autoprice: true,
+            autoprice: false,
+            buy: { keys: keyPrices.buy.keys, metal: keyPrices.buy.metal },
+            sell: { keys: keyPrices.sell.keys, metal: keyPrices.sell.metal },
             max: userMaxKeys,
             min: userMinKeys,
             intent: 2
@@ -2198,14 +2212,16 @@ Autokeys status:-
                     this.alreadyUpdatedToBank = false;
                     this.alreadyUpdatedToBuy = false;
                     this.alreadyUpdatedToSell = false;
+                    this.sleep(2000);
+                    this.autokeys();
                 })
                 .catch(err => {
                     log.warn(`❌ Failed to remove Mann Co. Supply Crate Key automatically: ${err.message}`);
                     this.checkAutokeysStatus = true;
                 });
+        } else {
+            this.autokeys();
         }
-        this.sleep(2000);
-        this.autokeys();
     }
 
     private keepMetalSupply(): void {