【问题标题】:Need Help Declining Steam Offers That Take Things From Me需要帮助拒绝从我这里拿走东西的 Steam 优惠
【发布时间】:2015-03-19 23:42:27
【问题描述】:

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

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

【问题讨论】:

    标签: javascript node.js steam-web-api steambot


    【解决方案1】:

    不完全确定您的代码基于什么机器人,但是在查看 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)){
    

    【讨论】:

    • 我的意思是说有人给我一个提议,给我一些我希望它接受的东西。但是,如果有人给我一个提议,那就是要求我给他们一些希望它接受的东西
    • 对,如果您将“if”语句更改为我发布的内容,这应该可以。
    • 但是如果有人向我发送了一个项目并请求了一个项目,它也会请求
    • 不,如果他们要求一个项目,它将被拒绝
    • 不是吗?我看到你正在使用node-steam-tradeoffers,它使用node steam,它应该返回那个数组......哦。我知道它是什么。请稍等,我将编辑我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-27
    • 2019-05-29
    • 2014-03-09
    • 1970-01-01
    • 1970-01-01
    • 2012-05-11
    • 1970-01-01
    相关资源
    最近更新 更多