购买脚本/ SneakerBot-使用WebSockets

问题描述

我正试图制作一个机器人/脚本来以Rollbit的价格撤出CSGO Skins,但我目前的解决方案太慢了。

我对WebSockets和非常高效的代码或高效编程语言不太熟悉。我最初的想法是使用自定义的Chrome扩展程序将脚本注入客户端浏览器,因此我不必每次都想手动使用脚本。我找到了WebSocket连接并尝试了以下代码

const ws = new WebSocket('wss://ws.rollbit.com/');


ws.onmessage = function (e) {
  var response = JSON.parse(e.data);
  if (response[0] == "steam/market") {
    var listing = response[1];
    var ref = listing.ref;
    var state = listing.state
    var price = listing.price;
    var markup = listing.markup;
    var item = listing.items[0];
    var name = item.name;

    if (listing.state == "listed" && listing.markup == 0 && listing.price > 50) {
      var xhr = new XMLHttpRequest();
      xhr.withCredentials = true;
      xhr.addEventListener("readystatechange",function() {
        if(this.readyState === 4) {
          console.log(this.responseText);
        }
      });
      xhr.open("POST","https://api.rollbit.com/steam/withdraw");
      xhr.setRequestHeader("authority","api.rollbit.com");
      xhr.setRequestHeader("accept","application/json,text/*");
      xhr.setRequestHeader("content-type","application/json; charset=UTF-8");
      xhr.setRequestHeader("accept-language","en-US,en;q=0.9");
      xhr.send("{\"refs\":[\"" + response[1].ref + "\"]}");
    }
  }
}

如果我输入一个现有列表的引用,此代码将起作用,但是当我想购买一个新列表时,我会从POST请求中收到以下响应:

{"success":false,"error":"Items unavailable"}

因为某人已经比我当前的脚本更快地创建了请求。我知道这段代码不是100%优化的,但是我开始认为有一种更好,更快的方法。我可以使用当前的解决方案来提高性能,还是对如何检测新列表并将POST请求更快地发送到服务器有任何建议?

我的下一个方法是尝试使用Python或可能是无头浏览器,但这对我来说是一个非常陌生的领域,所以这就是我在这里寻求建议的原因。也许你们当中有人做过类似的事情,可能会指出正确的方向。任何帮助深表感谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)