Skip to content

Commit 02f505d

Browse files
committed
Change null purchase_receipt_info to BadResponse
1 parent abdb303 commit 02f505d

File tree

2 files changed

+13
-14
lines changed

2 files changed

+13
-14
lines changed

ArchiSteamFarm/Steam/Bot.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3650,7 +3650,7 @@ private async void RedeemGamesInBackground(object? state = null) {
36503650
continue;
36513651
}
36523652

3653-
EResult result = EResult.Timeout;
3653+
EResult result = EResult.BadResponse;
36543654
EPurchaseResultDetail purchaseResultDetail = EPurchaseResultDetail.NoDetail;
36553655
string? balanceText = null;
36563656

@@ -3691,7 +3691,7 @@ private async void RedeemGamesInBackground(object? state = null) {
36913691
break;
36923692
case EPurchaseResultDetail.BadActivationCode:
36933693
case EPurchaseResultDetail.DuplicateActivationCode:
3694-
case EPurchaseResultDetail.NoDetail: // OK
3694+
case EPurchaseResultDetail.NoDetail:
36953695
redeemed = true;
36963696

36973697
break;

ArchiSteamFarm/Steam/Interaction/Commands.cs

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2656,7 +2656,7 @@ internal void OnNewLicenseList() {
26562656
result = EResult.Timeout;
26572657
purchaseResultDetail = EPurchaseResultDetail.Timeout;
26582658
} else if (redeemResult.purchase_receipt_info == null) {
2659-
result = EResult.Timeout;
2659+
result = EResult.BadResponse;
26602660
purchaseResultDetail = EPurchaseResultDetail.NoDetail;
26612661
} else {
26622662
result = (EResult) redeemResult.purchase_receipt_info.purchase_status;
@@ -2702,7 +2702,7 @@ internal void OnNewLicenseList() {
27022702
case EPurchaseResultDetail.BadActivationCode:
27032703
case EPurchaseResultDetail.CannotRedeemCodeFromClient:
27042704
case EPurchaseResultDetail.DuplicateActivationCode:
2705-
case EPurchaseResultDetail.NoDetail: // OK
2705+
case EPurchaseResultDetail.NoDetail:
27062706
case EPurchaseResultDetail.Timeout:
27072707
if ((result != EResult.Timeout) && (purchaseResultDetail != EPurchaseResultDetail.Timeout)) {
27082708
unusedKeys.Remove(key);
@@ -2750,21 +2750,20 @@ internal void OnNewLicenseList() {
27502750
continue;
27512751
}
27522752

2753-
if (redeemResponse.purchase_receipt_info == null) {
2754-
response.AppendLine(FormatBotResponse(Strings.FormatBotRedeem(key, $"{EResult.Timeout}/{EPurchaseResultDetail.NoDetail}"), innerBot.BotName));
2755-
2756-
continue;
2757-
}
2758-
27592753
triedBots.Add(innerBot);
27602754

2761-
EResult redeemResult = (EResult) redeemResponse.purchase_receipt_info.purchase_status;
2762-
EPurchaseResultDetail redeemPurchaseResult = (EPurchaseResultDetail) redeemResponse.purchase_result_details;
2755+
EResult redeemResult = EResult.BadResponse;
2756+
EPurchaseResultDetail redeemPurchaseResult = EPurchaseResultDetail.NoDetail;
2757+
2758+
if (redeemResponse.purchase_receipt_info != null) {
2759+
redeemResult = (EResult) redeemResponse.purchase_receipt_info.purchase_status;
2760+
redeemPurchaseResult = (EPurchaseResultDetail) redeemResponse.purchase_result_details;
2761+
}
27632762

27642763
switch (redeemPurchaseResult) {
27652764
case EPurchaseResultDetail.BadActivationCode:
27662765
case EPurchaseResultDetail.DuplicateActivationCode:
2767-
case EPurchaseResultDetail.NoDetail: // OK
2766+
case EPurchaseResultDetail.NoDetail:
27682767
// This key is already handled, as we either redeemed it or we're sure it's dupe/invalid
27692768
alreadyHandled = true;
27702769

@@ -2777,7 +2776,7 @@ internal void OnNewLicenseList() {
27772776
break;
27782777
}
27792778

2780-
Dictionary<uint, string>? redeemItems = redeemResponse.purchase_receipt_info.line_items.Count > 0 ? redeemResponse.purchase_receipt_info.line_items.ToDictionary(static lineItem => lineItem.packageid, static lineItem => lineItem.line_item_description) : null;
2779+
Dictionary<uint, string>? redeemItems = redeemResponse.purchase_receipt_info?.line_items.Count > 0 ? redeemResponse.purchase_receipt_info.line_items.ToDictionary(static lineItem => lineItem.packageid, static lineItem => lineItem.line_item_description) : null;
27812780

27822781
response.AppendLine(FormatBotResponse(redeemItems?.Count > 0 ? Strings.FormatBotRedeemWithItems(key, $"{redeemResult}/{redeemPurchaseResult}", string.Join(", ", redeemItems)) : Strings.FormatBotRedeem(key, $"{redeemResult}/{redeemPurchaseResult}"), innerBot.BotName));
27832782

0 commit comments

Comments
 (0)