需要帮助拒绝从我这里拿走东西的 Steam 优惠

Need Help Declining Steam Offers That Take Things From Me

好的,我有一个来自 Steam 机器人的代码,如果报价状态正确,它会接受和拒绝交易。但我希望它接受给我东西的交易报价,但拒绝其他人要求的交易报价。

      if(body.response.trade_offers_received){
    body.response.trade_offers_received.forEach(function(offer) {

      if (offer.trade_offer_state == 2){
          offers.acceptOffer({tradeOfferId: offer.tradeofferid});
          }
        else {
          offers.declineOffer({tradeOfferId: offer.tradeofferid});
        }
      }
    );
  }

不确定您的代码基于哪个机器人,但是在查看 steam api 交易报价后,应该有一个名为“items_to_give[ 的数组=20=]",您可以在接受之前检查它是否为空。

if (offer.trade_offer_state === 2 && (!offer.hasOwnProperty("items_to_give") || offer.items_to_give.length === 0)){

所以上面我们检查我们是否没有 "items_to_give" 键,如果你什么都不给,它就不存在。然后我们检查以 100% 确保其中没有任何物品,以防万一 Steam 决定在以后 API 中包含空密钥。

再次查看 steam api 后,我相信如果您还检查了 TradeOfferStateCountered(4),您的代码可以得到改进,它也可以让您接受还价。这是代码

if ((offer.trade_offer_state === 2 || offer.trade_offer_state === 4) && (!offer.hasOwnProperty("items_to_give") || offer.items_to_give.length === 0)){