Advertisement
Pyorot

LondonPogoMap/Pushbullet Bot 1.3 NoIV

Apr 21st, 2017
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function notifyPB(title, body) {
  2.     var xhr = new XMLHttpRequest();
  3.     xhr.open('POST', "https://api.pushbullet.com/v2/pushes", true);
  4.     xhr.setRequestHeader('Access-Token', access_token);
  5.     xhr.setRequestHeader('Content-Type', 'application/json');
  6.     xhr.send('{"body":"' + body + '","title":"' + title + '","type":"note"}');
  7.     console.log(title);
  8. }
  9.  
  10. function time(timecode) {
  11.     if (typeof timecode == 'undefined') {var date = new Date();} else {var date = new Date(timecode);};
  12.     var hours = date.getHours();
  13.     var minutes = "0" + date.getMinutes();
  14.     var seconds = "0" + date.getSeconds();
  15.     return hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);
  16. }
  17.  
  18. function poll() {
  19.     output = [];
  20.     for (i = 0, len = this.pokemons.length; i < len; i++) {
  21.         test = this.pokemons[i];
  22.         if (r[test.id] != 0) {
  23.             test_x = Math.abs(test.center.lat - home_lat)*110.574;
  24.             test_y = Math.abs(test.center.lng - home_lng)*69.298;
  25.             if (test_x*test_x + test_y*test_y < r[test.id]*r[test.id]) {
  26.                 test.r = Math.sqrt(test_x*test_x + test_y*test_y);
  27.                 if (known_despawns.indexOf(test.despawn) == -1) {
  28.                     known_despawns.push(test.despawn);
  29.                     output.push(test);
  30.                 }
  31.             }
  32.         }
  33.     }
  34.     return output
  35. }
  36.  
  37. function mail(list) {
  38.     for (i = 0, len = list.length; i < len; i++) {
  39.         var item = list[i];
  40.         var expiry_time = time(item.despawn*1000);
  41.         var rem_time = timeToString(item.remainingTime());
  42.         var notif = pokeDict[item.id].name+' | '+item.r.toFixed(2)+'km | '+rem_time+' (until '+expiry_time+')';
  43.         var url = 'http://www.google.com/maps/place/' + item.center.lat + ',' + item.center.lng;
  44.         notifyPB(notif, url);
  45.     }
  46. }
  47.  
  48. r = Array.apply(null, new Array(252)).map(Number.prototype.valueOf,0);
  49. known_despawns = [];
  50.  
  51. r[111] = 0.2;
  52. r[112] = 0.5;
  53. r[113] = 1.2;
  54. r[114] = 5;
  55. r[129] = 0.05;
  56. r[130] = 0.5;
  57. r[133] = 0.05;
  58. r[134] = 0.5;
  59. r[143] = 0.7;
  60. r[147] = 0.3;
  61. r[148] = 0.3;
  62. r[149] = 1.2;
  63. home_lat = 0; home_lng = 0;
  64. access_token = '0';
  65.  
  66. notifyPB('Initialised', 'Home: http://www.google.com/maps/place/' + home_lat + ',' + home_lng);
  67. function loop() {
  68.     mail(poll());
  69.     console.log('Ran at '+time()+' | Home: '+home_lat+','+home_lng);
  70. }
  71. setTimeout(loop, 5 * 1000);
  72. var timer = setInterval(loop, 30 * 1000);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement