Steam机器人Redis接口说明

该文档为成都海盗海科技有限公司所有,任何人未经允许不得转发。

 

Steam机器人与对接系统之间通过redis进行报价请求的交互.

机器人使用的报价数据格式如下显示

{
    status: 0, 
    trade_no: null, 
    steamer: {
        steamid: "765611xxxxxxxxx", 
        tradeurl: "https: //steamcommunity.com/tradeoffer/new/?partner=xxxxx&token=xxxxxx"
    }, 
    uid: "123456789", 
    message: "GRKHM0HK", 
    myItems: [
        {
            name: "九头蛇大行动”武器箱钥匙", 
            classid: "2303508264", 
            appid: "730", 
            contextid: "2", 
            assetid: "11684150890"
        }
    ], 
    theirItems: [
        {
            name: "格洛克 18 型 | 地下水", 
            classid: "310779514", 
            appid: "730", 
            contextid: "2", 
            assetid: "11368533135",
            new_assetid: ""
        }
    ], 
    steamid: "765611xxxxxxxxx", 
    exchanged: false,
    cancelTime: 1000 * 60 * 2,
    bot_msg: "",
    offer_state: null,
    ex_state: null
}

各字段的具体含义如下表

  1. status:报价单状态; 0:初始化,1:报价交易成功;2:报价交易失败, 需要发送的报价单初始化为0,机器人处理完成后,如果报价交易成功则会写入1,报价失败则会写入2;所以对接系统只需要一直检查该字段是否为1或者2即可
  2. trade_no:steam生成的报价单编号,初始化为null即可。机器人向steam提交报价单成功后,会将steam返回的此次报价单号写回此字段
  3. steamer:报价目标, steamid为报价目标的steamid, tradeurl为报价目标的报价链接,机器人将通过此报价链接向目标发送报价
  4. uid:报价单唯一编号,对接系统对此处报价的唯一编号
  5. message:报价单的附言,此字段内容会填入该次报价附带的消息框中
  6. myItems:此次报价的要发送的道具;代表此次报价我方要发送的道具;比如需要将机器人的某个库存道具发送给目标,则需要将该道具的appid、contextid、assetid填入这里,name、classid为可选字段;没有要发送的道具则填空数组: []
  7. theirItems:此次报价要请求的目标玩家的道具;比如这次报价是玩家要存入他的某些道具,则需要将他的道具的appid、contextid、assetid填入这里,name、classid同理为可选字段;没有要请求的道具,则填空数组:[]
  8. steamid:指定此次报价用的机器人steamid,即此次报价会通过这里指定的机器人发送;也可以填空字符串,则机器人会随机选择当前启动的一个机器人去发送报价,并在报价发送后,将此次使用的机器人的steamid回写到这个字段
  9. exchanged:报价道具id更新标志;如果机器人报价了对方的饰品道具,当报价交易成功后,机器人人就会收到对应的报价道具,而收到的报价道具的assetid一般来说产生变更;比如请求了玩家的道具assetid是 2111111,当交易成功后,道具进入机器人的库存后,道具的assetid可能就变成了3111111,即每次道具交易,理论上assetid都会产生变化,而机器人在交易成功后,读取到新的assetid后,会写入此字段exchanged为true,同时将新assetid写入theirItems中,每个item的新assetid写入一个新字段new_assetid,标志已经读取到了新的assetid,新assetid的值即为new_assetid的值。所以如果需要追踪assetid的变化,则需要对接时,在读到交易成功status状态为1时,再继续读取exchanged的状态,读到为true后即可从每个item的new_assetid,读取到新的assetid值。如果不需要追踪新的assetid,则可以忽略此字段。
  10. cancelTime: 指定报价的超时时间,单位毫秒,即超过此时间玩家都没接受报价,则机器人会取消该报价;可选字段,如果没有传入该字段,则为默认的10分钟超时;实际机器人的取消时间可能与此时间会存在一点误差,可能比此设定的时间会晚几秒钟;
  11. bot_msg: 报价错误信息,如果机器人发送报价失败,会将steam返回的错误描述写入此字段;可选字段,机器人发送报价失败后回写此字段
  12. offer_state:steam报价单状态,可选字段,机器人报价发送成功后会回写此字段,字段值的含义参考下面的报价单状态表;当报价失败,status为2时,可以根据这个字段的值,得到失败原因;比如offer_state为6,表示是因为报价取消而失败,offer_state为7的话,表示是因为报价被拒绝而失败,其他状态同理;
  13. ex_state:扩展字段,可选字段;目前机器人对于暂挂交易会直接取消报价;取消报价后,status会写2,表示报价失败,offer_state会写入6,表示报价是因为取消报价而失败,同时ex_state写入值11,表示取消前的状态是暂挂

交易编号

trade_no 为steam的交易编号,通过 https://steamcommunity.com/tradeoffer/ + 交易编号 即可得到此次报价的报价页面;比如报价编号为 2308582253, 则用户可以通过这个链接 https://steamcommunity.com/tradeoffer/2308582253 打开改报价页面

items交易道具说明

一般可以通过 http://steamcommunity.com/inventory/{steamid}/{appid}/{contextid}?l=schinese&count=5000 即可查看某人开放的库存信息;其中steamid为要查看的玩家steamid,appid为游戏id,contextid为库存id; CSGO的appid为730,contextid为2 Dota2的appid为570,contextid为2 其他游戏的都能在网络上查到

报价单状态表

报价单状态 状态详情
2 报价激活
3 报价被接受
4 报价被还价
5 报价过期
6 报价被取消
7 报价被拒绝
8 报价中部分道具已不可用

机器人对接说明

对接系统,将上面的报价结构以格式化为字符串后,以uid的值为key,格式的json字符串为值的键值对写入redis,

set "123456789" "
{
    status: 0, 
    trade_no: "null", 
    steamer: {
        steamid: "765611xxxxxxxxx", 
        tradeurl: "https://steamcommunity.com/tradeoffer/new/?partner=xxxxx&token=xxxxx"
    }, 
    uid: "", 
    message: "GRKHM0HK", 
    myItems: [
        {
            name: "九头蛇大行动”武器箱钥匙", 
            classid: "2303508264", 
            appid: "730", 
            contextid: "2", 
            assetid: "11684150890"
        }
    ], 
    theirItems: [
        {
            name: "格洛克18型|地下水", 
            classid: "310779514", 
            appid: "730", 
            contextid: "2", 
            assetid: "11368533135"
        }
    ], 
    steamid: "765611xxxxxxxxx", 
    offer_state: "null"
}
"

然后将该key写入固定的redis列表 trade_list

lpush trade_list "123456789"

机器人会从 trade_list列表中读取所有待处理的报价单key,然后根据key去读取报价请求的json数据包;然后完成报价交易; 
根据交易结果机器人会去更新上面提到的status字段;

为了避免数据冗余,建议对接系统在读取到交易结果后,比如读到status为2或者1之后,就将该报价单的键值对删除,并从trade_list移除

其他说明

目前机器人报价固定超时为10分钟,即对所有报价发送出去后,超过10分钟玩家都没确认该报价,则会取消该报价,并更新报价结果status为失败

 

引用地址:作业部落 Cmd Markdown 编辑阅读器

Pingbacks已打开。

Trackbacks
  1. hollywood casino 发布于 2018年7月21日 12:58 #

    Steam机器人Redis接口说明

  2. viagra without doctor prescription 发布于 2018年7月23日 03:44 #

    Steam机器人Redis接口说明

  3. g spot stimulator 发布于 2018年7月28日 01:02 #

    Steam机器人Redis接口说明

  4. Car accident lawyers in baltimore 发布于 2018年8月6日 05:20 #

    Steam机器人Redis接口说明

  5. buy viagra yahoo answers 发布于 2018年8月9日 04:22 #

    Steam机器人Redis接口说明

  6. buy viagra online 发布于 2018年8月9日 08:55 #

    Steam机器人Redis接口说明

  7. cheap viagra fast delivery 发布于 2018年8月12日 12:23 #

    Steam机器人Redis接口说明

  8. personalised wristbands no minimum order 发布于 2018年8月16日 21:56 #

    Steam机器人Redis接口说明

  9. 汽車 发布于 2018年9月14日 04:20 #

    Steam机器人Redis接口说明

  10. 寵物 发布于 2018年9月14日 05:56 #

    Steam机器人Redis接口说明

  11. 家居 发布于 2018年9月14日 07:49 #

    Steam机器人Redis接口说明

  12. 動漫 发布于 2018年10月11日 19:48 #

    Steam机器人Redis接口说明

  13. 家居 发布于 2018年10月11日 20:47 #

    Steam机器人Redis接口说明

  14. 娛樂 发布于 2018年10月11日 23:37 #

    Steam机器人Redis接口说明

  15. 時尚 发布于 2018年10月11日 23:50 #

    Steam机器人Redis接口说明

  16. 汽車 发布于 2018年10月12日 07:57 #

    Steam机器人Redis接口说明

  17. 時尚 发布于 2018年10月13日 07:46 #

    Steam机器人Redis接口说明

  18. 健康 发布于 2018年10月13日 09:59 #

    Steam机器人Redis接口说明

  19. 時尚 发布于 2018年10月13日 12:43 #

    Steam机器人Redis接口说明

  20. 動漫 发布于 2018年10月13日 17:34 #

    Steam机器人Redis接口说明

  21. 트럼프카지노 发布于 2018年10月13日 22:50 #

    Steam机器人Redis接口说明

  22. 科技 发布于 2018年10月13日 23:04 #

    Steam机器人Redis接口说明

  23. 動漫 发布于 2018年10月14日 18:38 #

    Steam机器人Redis接口说明

  24. test 发布于 2018年10月15日 02:30 #

    Steam机器人Redis接口说明

  25. files .fm/u/yt6axujr 发布于 2018年10月15日 03:07 #

    Steam机器人Redis接口说明

  26. Http://www.best7reviews.com/site/ 发布于 2018年10月15日 03:26 #

    Steam机器人Redis接口说明

  27. reflex engine cracked 发布于 2018年10月15日 03:38 #

    Steam机器人Redis接口说明

  28. Fortnite Free Undetected Hacks - Aimbot and ESP Ch 发布于 2018年10月15日 03:48 #

    Steam机器人Redis接口说明

  29. Sir hurt exploit 发布于 2018年10月15日 03:56 #

    Steam机器人Redis接口说明

  30. pycharm 2018.1 crack 发布于 2018年10月15日 04:18 #

    Steam机器人Redis接口说明

  31. youtube by click premium activation code 发布于 2018年10月15日 04:22 #

    Steam机器人Redis接口说明

  32. legend online elmas 发布于 2018年10月15日 04:26 #

    Steam机器人Redis接口说明

  33. war wings hack tool windows 10 pc - war wings hack 发布于 2018年10月15日 04:29 #

    Steam机器人Redis接口说明

  34. Check cashed v5 发布于 2018年10月15日 04:40 #

    Steam机器人Redis接口说明

  35. Pocketdice bot 发布于 2018年10月15日 04:49 #

    Steam机器人Redis接口说明

  36. Spynote v6 发布于 2018年10月15日 04:56 #

    Steam机器人Redis接口说明

  37. How to get free keys in csr2 ios 发布于 2018年10月15日 05:05 #

    Steam机器人Redis接口说明

  38. tool 8 ball pool 发布于 2018年10月15日 05:05 #

    Steam机器人Redis接口说明

  39. msp hack by jack30t 发布于 2018年10月15日 05:06 #

    Steam机器人Redis接口说明

  40. pokemon planet cheats pc 发布于 2018年10月15日 05:11 #

    Steam机器人Redis接口说明

  41. phprunner 9.8 full 发布于 2018年10月15日 05:19 #

    Steam机器人Redis接口说明

  42. rules of survival tele kill 发布于 2018年10月15日 05:26 #

    Steam机器人Redis接口说明

  43. darkorbit uridium 发布于 2018年10月15日 05:28 #

    Steam机器人Redis接口说明

  44. octoroit os free download full version 发布于 2018年10月15日 05:37 #

    Steam机器人Redis接口说明

  45. สล็อตออนไลน์ 发布于 2018年10月15日 13:25 #

    Steam机器人Redis接口说明

  46. Power team realty 发布于 2018年10月15日 13:53 #

    Steam机器人Redis接口说明

  47. backconnect proxy 发布于 2018年10月15日 17:17 #

    Steam机器人Redis接口说明

  48. creed 发布于 2018年10月15日 17:48 #

    Steam机器人Redis接口说明

  49. business dreams 发布于 2018年10月15日 18:00 #

    Steam机器人Redis接口说明

  50. chanel vanity case 发布于 2018年10月16日 01:08 #

    Steam机器人Redis接口说明

  51. c1493924593380194517 发布于 2018年10月16日 16:36 #

    Steam机器人Redis接口说明

引用地址

评论