2
2
3
3
var BaseDice = require ( './base' ) ;
4
4
var APIError = require ( '../errors/APIError' ) ;
5
- var request = require ( 'graphql-request' ) . request ;
6
- var GraphQLClient = require ( 'graphql-request' ) . GraphQLClient ;
5
+ var fetch = require ( 'isomorphic-fetch' ) ;
7
6
8
7
module . exports = class StakeDice extends BaseDice {
9
8
constructor ( ) {
@@ -14,7 +13,8 @@ module.exports = class StakeDice extends BaseDice {
14
13
}
15
14
16
15
async login ( userName , password , twoFactor , apiKey , req ) {
17
- let data = "query{user {activeServerSeed { seedHash seed nonce} activeClientSeed{seed} id balances{available{currency amount}} statistic {game bets wins losses betAmount profit currency}}}" ;
16
+ let data = { } ;
17
+ data . query = "{user {activeServerSeed { seedHash seed nonce} activeClientSeed{seed} id balances{available{currency amount}} statistic {game bets wins losses amount profit currency}}}" ;
18
18
let ret = await this . _send ( '' , 'POST' , data , apiKey ) ;
19
19
req . session . accessToken = apiKey ;
20
20
req . session . username = apiKey ;
@@ -31,7 +31,8 @@ module.exports = class StakeDice extends BaseDice {
31
31
if ( ! info ) {
32
32
return false ;
33
33
}
34
- let data = "query{user {activeServerSeed { seedHash seed nonce} activeClientSeed{seed} id balances{available{currency amount}} statistic {game bets wins losses betAmount profit currency}}}" ;
34
+ let data = { } ;
35
+ data . query = "{user {activeServerSeed { seedHash seed nonce} activeClientSeed{seed} id balances{available{currency amount}} statistic {game bets wins losses betAmount profit currency}}}" ;
35
36
let ret = await this . _send ( '' , 'POST' , data , req . session . accessToken ) ;
36
37
ret = ret . user ;
37
38
let userinfo = {
@@ -64,7 +65,8 @@ module.exports = class StakeDice extends BaseDice {
64
65
65
66
async clear ( req ) {
66
67
console . log ( 'loading....' ) ;
67
- let data = "query{user {activeServerSeed { seedHash seed nonce} activeClientSeed{seed} id balances{available{currency amount}} statistic {game bets wins losses betAmount profit currency}}}" ;
68
+ let data = { } ;
69
+ data . query = "{user {activeServerSeed { seedHash seed nonce} activeClientSeed{seed} id balances{available{currency amount}} statistic {game bets wins losses betAmount profit currency}}}" ;
68
70
let ret = await this . _send ( '' , 'POST' , data , req . session . accessToken ) ;
69
71
ret = ret . user ;
70
72
let info = { } ;
@@ -118,12 +120,14 @@ module.exports = class StakeDice extends BaseDice {
118
120
target = Math . floor ( ( req . body . Chance * 10000 ) ) - 1 ;
119
121
}
120
122
target = parseFloat ( target / 10000 ) . toFixed ( 2 ) ;
121
- let data = " mutation{diceRoll(amount:" + amount + ",target:" + target + ",condition:" + condition + ",currency:" + currency + ") { id nonce currency amount payout state { ... on CasinoGameDice { result target condition } } createdAt serverSeed{seedHash seed nonce} clientSeed{seed} user{balances{available{amount currency}} statistic{game bets wins losses betAmount profit currency}}}}" ;
123
+ let data = { } ;
124
+ data . query = " mutation{diceRoll(amount:" + amount + ",target:" + target + ",condition:" + condition + ",currency:" + currency + ") { id nonce currency amount payout state { ... on CasinoGameDice { result target condition } } createdAt serverSeed{seedHash seed nonce} clientSeed{seed} user{balances{available{amount currency}} statistic{game bets wins losses betAmount profit currency}}}}" ;
122
125
let ret = await this . _send ( '' , 'POST' , data , req . session . accessToken ) ;
123
126
let info = req . session . info ;
124
127
let betInfo = ret . diceRoll ;
125
- let queryIID = " query{bet(betId:\"" + betInfo . id + "\"){iid}}" ;
126
- let dataIID = await this . _send ( '' , 'POST' , queryIID , req . session . accessToken ) ;
128
+ data = { } ;
129
+ data . query = "{bet(betId:\"" + betInfo . id + "\"){iid}}" ;
130
+ let dataIID = await this . _send ( '' , 'POST' , data , req . session . accessToken ) ;
127
131
betInfo . iid = dataIID . bet . iid . split ( ":" ) [ 1 ] ;
128
132
betInfo . condition = req . body . High == "true" ?'>' :'<' ;
129
133
betInfo . target = target ;
@@ -157,7 +161,8 @@ module.exports = class StakeDice extends BaseDice {
157
161
158
162
async resetseed ( req ) {
159
163
let clientSeed = Math . random ( ) . toString ( 36 ) . substring ( 2 ) ;
160
- let data = "mutation{rotateServerSeed{ seed seedHash nonce } changeClientSeed(seed:\"" + clientSeed + "\"){seed}}"
164
+ data = { } ;
165
+ data . query = "mutation{rotateServerSeed{ seed seedHash nonce } changeClientSeed(seed:\"" + clientSeed + "\"){seed}}"
161
166
let ret = await this . _send ( '' , 'POST' , data , req . session . accessToken ) ;
162
167
console . log ( clientSeed , ret ) ;
163
168
let info = { } ;
@@ -168,27 +173,26 @@ module.exports = class StakeDice extends BaseDice {
168
173
}
169
174
170
175
async _send ( route , method , body , accessToken ) {
171
- let endpoint = `${ this . url } ` ;
172
-
173
- let graphQLClient = new GraphQLClient ( endpoint , {
176
+ console . log ( JSON . stringify ( body ) ) ;
177
+ let url = `${ this . url } ` ;
178
+ let res = await fetch ( url , {
179
+ method,
174
180
headers : {
181
+ 'User-Agent' : 'MyDiceBot' ,
175
182
'x-access-token' : accessToken ,
183
+ 'Content-Type' : 'application/json' ,
176
184
} ,
177
- } )
178
- try {
179
- let res = await graphQLClient . request ( body ) ;
180
- return res ;
181
- } catch ( err ) {
182
- if ( err . response . errors ) {
183
- let errs = new Error ( err . response . errors [ 0 ] . message ) ;
184
- errs . value = err . response . errors [ 0 ] . message ;
185
- throw new APIError ( err . response . errors [ 0 ] . message , errs ) ;
186
- } else {
187
- let errs = new Error ( err . response . error ) ;
188
- errs . value = err . response . error ;
189
- throw new APIError ( err . response . error , errs ) ;
190
- }
185
+ body : JSON . stringify ( body ) ,
186
+ } ) ;
187
+ let data = await res . json ( ) ;
188
+ console . log ( data ) ;
189
+ if ( data . errors ) {
190
+ let errs = new Error ( data . errors [ 0 ] . message ) ;
191
+ errs . value = data . errors [ 0 ] . message ;
192
+ throw new APIError ( data . errors [ 0 ] . message , errs ) ;
191
193
}
194
+ let ret = data . data ;
195
+ return ret ;
192
196
}
193
197
}
194
198
exports . StakeDice
0 commit comments