Advertisement
Guest User

leekwars-fast-trainer

a guest
Mar 6th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class Trainer{
  2.   constructor(){
  3.     this.api = "https://leekwars.com/api/"
  4.     this.leek = 44606;
  5.     this.username = "wma";
  6.     this.password = "arenib";
  7.     this.token = false;
  8.     this.fights = [];
  9.   }
  10.   async train(n){
  11.     console.log("getting token");
  12.     if(!this.token) this.token = await this.getToken();
  13.     await this.wait(1);
  14.     console.log("starting training");
  15.     for(let i=0;i<n;i++){
  16.       console.log("loading garden");
  17.       let garden = await fetch(this.api+"garden/get-leek-opponents/"+this.leek+"/"+this.token,{credentials: "same-origin"}).then(d=>d.json());
  18.       await this.wait(1);
  19.       if(garden.success){
  20.         let opponent = garden.opponents.sort((a,b)=>a.talent>b.talent)[0].id;
  21.         console.log("loading fight against "+opponent);
  22.         let fighturl = this.api+"garden/start-solo-fight/"+this.leek+"/"+opponent+"/"+this.token;
  23.         let fdata = new FormData();
  24.         fdata.append("leek_id",this.leek);
  25.         fdata.append("target_id",opponent);
  26.         fdata.append("token",this.token);
  27.         await this.wait(1);
  28.         let fight = await fetch(fighturl,{
  29.           method:"POST",
  30.           body:fdata,
  31.           credentials: "same-origin"
  32.         }).then(d=>d.text());
  33.         console.log(fight);
  34.         /*if(fight.success){
  35.           this.fights.push(fight.fight);
  36.           console.log(this.fights.length);
  37.         }*/
  38.       }
  39.     }
  40.   }
  41.   getToken(){
  42.     return fetch(this.api+"farmer/login-token/"+this.username+"/"+this.password,{credentials: "same-origin"}).then(d=>d.json()).then(d=>{if(!d.success)throw "bad credentials";else return d.token});
  43.   }
  44.   wait(ms){
  45.     return new Promise((res,rej)=>setTimeout(()=>res(),ms));
  46.   }
  47. }
  48. let t = new Trainer();
  49. t.train(100);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement