Advertisement
awr000

Screeps Websocket POC

May 22nd, 2016
270
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var http = require('http');
  2. var sockjs = require('sockjs-client');
  3. var request = require('request');
  4. var pg = require('pg');
  5. var sock = new sockjs('https://screeps.com/socket');
  6. var user_id = "56b20f601436e6ad4fcc0e68";
  7. var user_name =
  8. var password =
  9.  
  10. var conString = "postgres://postgres:xxxxx@localhost/screeps";
  11. var client = new pg.Client(conString);
  12. client.connect(function(err) {
  13.     if(err) {
  14.         return console.error('could not connect to postgres', err);
  15.     }
  16. });
  17. function sleep(time, callback) {
  18.     var stop = new Date().getTime();
  19.     while(new Date().getTime() < stop + time) {
  20.         ;
  21.     }
  22.     callback();
  23. }
  24. sock.onopen = function() {
  25.     console.log('open');
  26.     var x;
  27.     request.post({url:"https://screeps.com/api/auth/signin", json:true, body: {email: user_name, password:password }}, function(err,httpResponse,body){
  28.       sock.send('auth '+body.token);
  29.     });
  30. };
  31. sock.onmessage = function(e) {
  32.     console.log(e.data);
  33.     if (e.data.substring(0,7) === "auth ok") {
  34.  
  35.       sock.send("subscribe user:"+user_id+"/memory/stats");
  36.     }
  37.     try {
  38.         var v = JSON.parse(e.data);
  39.         client.query({
  40.             name:'insert-tick',
  41.             text:'insert into cpu (tick,cpu) values($1,$2)',
  42.             values: v[1].split(",")
  43.         });
  44.     } catch (e){}
  45. };
  46. sock.onclose = function() {
  47.     console.log('close');
  48. };
  49.  
  50. var server = http.createServer();
  51. server.listen(9999, '127.0.0.1');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement