-2

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

      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});
        }
      }
    );
  }
4

1 回答 1

2

不完全确定您的代码基于什么机器人,但是在查看用于交易报价的Steam api之后,应该有一个名为“ items_to_give ”的数组,您可以在接受之前检查它是否为空。

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)){
于 2015-03-20T00:23:06.043 回答