diff --git a/ArchiSteamFarm/ArchiHandler.cs b/ArchiSteamFarm/ArchiHandler.cs index add93f9ac..ab58f865a 100644 --- a/ArchiSteamFarm/ArchiHandler.cs +++ b/ArchiSteamFarm/ArchiHandler.cs @@ -44,18 +44,17 @@ namespace ArchiSteamFarm { internal EResult Result { get; private set; } internal EPurchaseResult PurchaseResult { get; private set; } - internal KeyValue ReceiptInfo { get; private set; } - internal HashSet Items { get; private set; } = new HashSet(); + internal KeyValue ReceiptInfo { get; private set; } = new KeyValue(); + internal Dictionary Items { get; private set; } = new Dictionary(); internal PurchaseResponseCallback(CMsgClientPurchaseResponse body) { Result = (EResult) body.eresult; PurchaseResult = (EPurchaseResult) body.purchase_result_details; - ReceiptInfo = new KeyValue(); using (MemoryStream ms = new MemoryStream(body.purchase_receipt_info)) { if (ReceiptInfo.TryReadAsBinary(ms)) { foreach (KeyValue lineItem in ReceiptInfo["lineitems"].Children) { - Items.Add(lineItem["ItemDescription"].AsString()); + Items.Add((uint) lineItem["PackageID"].AsUnsignedLong(), lineItem["ItemDescription"].AsString()); } } } diff --git a/ArchiSteamFarm/Bot.cs b/ArchiSteamFarm/Bot.cs index fecab1f91..181b579ff 100644 --- a/ArchiSteamFarm/Bot.cs +++ b/ArchiSteamFarm/Bot.cs @@ -595,7 +595,7 @@ namespace ArchiSteamFarm { var purchaseResult = callback.PurchaseResult; var items = callback.Items; - SendMessageToUser(SteamMasterID, "Status: " + purchaseResult + " | Items: " + string.Join(", ", items)); + SendMessageToUser(SteamMasterID, "Status: " + purchaseResult + " | Items: " + string.Join("", items)); if (purchaseResult == ArchiHandler.PurchaseResponseCallback.EPurchaseResult.OK) { await CardsFarmer.StartFarming().ConfigureAwait(false);