11const { EmbedBuilder, ButtonBuilder, ButtonStyle, ActionRowBuilder, MessageFlags } = require ( 'discord.js' ) ;
22const { Blackjack } = require ( 'blackjack-n-deck' ) ;
33const Command = require ( '../../base/Command.js' ) ;
4- const { QuickDB } = require ( 'quick.db' ) ;
5- const db = new QuickDB ( ) ;
64
75class BlackJack extends Command {
86 constructor ( client ) {
@@ -113,11 +111,19 @@ class BlackJack extends Command {
113111 ) ;
114112 const currencySymbol = economyRows [ 0 ] ?. symbol || '$' ;
115113
116- const cash = BigInt (
117- ( await db . get ( `servers.${ msg . guild . id } .users.${ msg . member . id } .economy.cash` ) ) ||
118- economyRows [ 0 ] ?. start_balance ||
119- 0 ,
114+ const [ BalanceRows ] = await this . client . db . execute (
115+ /* sql */ `
116+ SELECT
117+ cash
118+ FROM
119+ economy_balances
120+ WHERE
121+ server_id = ?
122+ AND user_id = ?
123+ ` ,
124+ [ msg . guild . id , msg . member . id ] ,
120125 ) ;
126+ const cash = BigInt ( BalanceRows [ 0 ] ?. cash || economyRows [ 0 ] ?. start_balance || 0 ) ;
121127
122128 const Arguments = args . join ( ' ' ) . toLowerCase ( ) ;
123129
@@ -195,7 +201,20 @@ class BlackJack extends Command {
195201 ] ) ;
196202
197203 const newAmount = cash + winAmount ;
198- await db . set ( `servers.${ msg . guild . id } .users.${ msg . member . id } .economy.cash` , newAmount . toString ( ) ) ;
204+ await this . client . db . execute (
205+ /* sql */
206+ `
207+ INSERT INTO
208+ economy_balances (server_id, user_id, cash)
209+ VALUES
210+ (?, ?, ?) ON DUPLICATE KEY
211+ UPDATE cash =
212+ VALUES
213+ (cash)
214+ ` ,
215+ [ msg . guild . id , msg . member . id , newAmount . toString ( ) ] ,
216+ ) ;
217+
199218 return msg . channel . send ( { embeds : [ embed ] } ) ;
200219 }
201220
@@ -217,7 +236,7 @@ class BlackJack extends Command {
217236 return embed ;
218237 }
219238
220- async function winCheck ( selected ) {
239+ async function winCheck ( client , selected ) {
221240 if ( selected === 'hit' ) {
222241 bj . hit ( ) ;
223242 } else if ( selected === 'stand' ) {
@@ -228,22 +247,55 @@ class BlackJack extends Command {
228247
229248 const amount = BigInt ( bj . bet ) ;
230249 if ( win ) {
231- const newAmount = cash + amount ;
232- await db . set ( `servers.${ msg . guild . id } .users.${ msg . member . id } .economy.cash` , newAmount . toString ( ) ) ;
250+ await client . db . execute (
251+ /* sql */
252+ `
253+ INSERT INTO
254+ economy_balances (server_id, user_id, cash)
255+ VALUES
256+ (?, ?, ?) ON DUPLICATE KEY
257+ UPDATE cash = cash +
258+ VALUES
259+ (cash)
260+ ` ,
261+ [ msg . guild . id , msg . member . id , amount . toString ( ) ] ,
262+ ) ;
233263
234264 let csAmount = currencySymbol + amount . toLocaleString ( ) ;
235265 csAmount = csAmount . length > 1024 ? csAmount . slice ( 0 , 1021 ) + '...' : csAmount ;
236266 return cardEmbed ( `Result: You win ${ csAmount } ` ) ;
237267 } else if ( blackjack ) {
238- const newAmount = cash + amount ;
239- await db . set ( `servers.${ msg . guild . id } .users.${ msg . member . id } .economy.cash` , newAmount . toString ( ) ) ;
268+ await client . db . execute (
269+ /* sql */
270+ `
271+ INSERT INTO
272+ economy_balances (server_id, user_id, cash)
273+ VALUES
274+ (?, ?, ?) ON DUPLICATE KEY
275+ UPDATE cash = cash +
276+ VALUES
277+ (cash)
278+ ` ,
279+ [ msg . guild . id , msg . member . id , amount . toString ( ) ] ,
280+ ) ;
240281
241282 let csAmount = currencySymbol + amount . toLocaleString ( ) ;
242283 csAmount = csAmount . length > 1024 ? csAmount . slice ( 0 , 1021 ) + '...' : csAmount ;
243284 return cardEmbed ( `Result: BlackJack, you win ${ csAmount } ` ) ;
244285 } else if ( bust ) {
245- const newAmount = cash - amount ;
246- await db . set ( `servers.${ msg . guild . id } .users.${ msg . member . id } .economy.cash` , newAmount . toString ( ) ) ;
286+ await client . db . execute (
287+ /* sql */
288+ `
289+ INSERT INTO
290+ economy_balances (server_id, user_id, cash)
291+ VALUES
292+ (?, ?, ?) ON DUPLICATE KEY
293+ UPDATE cash = cash -
294+ VALUES
295+ (cash)
296+ ` ,
297+ [ msg . guild . id , msg . member . id , amount . toString ( ) ] ,
298+ ) ;
247299
248300 let csAmount = currencySymbol + amount . toLocaleString ( ) ;
249301 csAmount = csAmount . length > 1024 ? csAmount . slice ( 0 , 1021 ) + '...' : csAmount ;
@@ -297,7 +349,7 @@ class BlackJack extends Command {
297349 continue ;
298350 }
299351
300- const embed = await winCheck ( selected ) ;
352+ const embed = await winCheck ( this . client , selected ) ;
301353 if ( gameOver ) {
302354 row . components [ 0 ] . setDisabled ( true ) ;
303355 row . components [ 1 ] . setDisabled ( true ) ;
@@ -311,7 +363,7 @@ class BlackJack extends Command {
311363 . delete ( )
312364 . catch ( ( ) => { } ) ;
313365
314- const embed = await winCheck ( selected ) ;
366+ const embed = await winCheck ( this . client , selected ) ;
315367 if ( gameOver ) {
316368 row . components [ 0 ] . setDisabled ( true ) ;
317369 row . components [ 1 ] . setDisabled ( true ) ;
0 commit comments