From dfc69e4458de05d3ebbedec854324a70e77223dd Mon Sep 17 00:00:00 2001 From: milo Date: Tue, 3 Jun 2025 17:56:53 +0200 Subject: [PATCH] tests --- .idea/inspectionProfiles/Project_Default.xml | 6 ++++++ game.js | 20 ++++++++++++++++++++ index.js | 6 +++++- package-lock.json | 10 ++++++++++ package.json | 1 + 5 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 .idea/inspectionProfiles/Project_Default.xml diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..fe16e3f --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/game.js b/game.js index aee1a81..b13db8a 100644 --- a/game.js +++ b/game.js @@ -1,4 +1,6 @@ import { capitalize } from './utils.js'; +import pkg from 'pokersolver'; +const { Hand } = pkg; import {updateUserCoins, getUser, insertLog, insertGame, getUserElo, insertElos, updateElo} from './init_database.js' @@ -217,4 +219,22 @@ export async function eloHandler(p1, p2, p1score, p2score, type) { type: type, timestamp: Date.now(), }) +} + +export function pokerTest() { + console.log('pokerTest') + let hand1 = Hand.solve(['Ad', 'As', 'Jc', 'Th', '2d', '3c', 'Kd'], 'standard', false); + //let hand2 = Hand.solve(['Ad', 'As', 'Jc', 'Th', '2d', '3c', 'Kd'], 'standard', false); + let hand2 = Hand.solve(['Ad', 'As', 'Jc', 'Th', '2d', 'Qs', 'Qd'], 'standard', false); + /*console.log(hand1.name) + console.log(hand2.name) + console.log(hand1.descr) + console.log(hand2.descr)*/ + console.log(hand1.toString()) + console.log(hand2.toString()) + + let winner = Hand.winners([hand1, hand2]); // hand2 + console.log(winner) + console.log(winner.includes(hand1)); + console.log(winner.includes(hand2)); } \ No newline at end of file diff --git a/index.js b/index.js index 5dfb2d1..5dc60a6 100644 --- a/index.js +++ b/index.js @@ -18,7 +18,7 @@ import { getAPOUsers, postAPOBuy } from './utils.js'; -import {channelPointsHandler, eloHandler, slowmodesHandler} from './game.js'; +import {channelPointsHandler, eloHandler, pokerTest, slowmodesHandler} from './game.js'; import { Client, GatewayIntentBits, EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle } from 'discord.js'; import cron from 'node-cron'; import Database from "better-sqlite3"; @@ -575,6 +575,7 @@ client.on('messageCreate', async (message) => { } else if (message.content.startsWith('flopo:sql')) { let sqlCommand = message.content.replace('flopo:sql ', '') + console.log(sqlCommand) try { if (sqlCommand.startsWith('SELECT')) { const stmt = flopoDB.prepare(`${sqlCommand}`).all(); @@ -587,6 +588,9 @@ client.on('messageCreate', async (message) => { console.log(e) } } + else if (message.content.startsWith('flopo:poker')) { + pokerTest() + } } } }); diff --git a/package-lock.json b/package-lock.json index 2a2664f..7c30727 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,6 +18,7 @@ "express": "^4.18.2", "node-cron": "^3.0.3", "openai": "^4.94.0", + "pokersolver": "^2.1.4", "socket.io": "^4.8.1" }, "devDependencies": { @@ -1945,6 +1946,15 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pokersolver": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/pokersolver/-/pokersolver-2.1.4.tgz", + "integrity": "sha512-vmgZS+K8H8r1RePQykFM5YyvlKo1v3xVec8FMBjg9N6mR2Tj/n/X415w+lG67FWbrk71D/CADmKFinDgaQlAsw==", + "engines": [ + "node >= 4.0.0" + ], + "license": "MIT" + }, "node_modules/prebuild-install": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", diff --git a/package.json b/package.json index 1a5e688..a4268ca 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "express": "^4.18.2", "node-cron": "^3.0.3", "openai": "^4.94.0", + "pokersolver": "^2.1.4", "socket.io": "^4.8.1" }, "devDependencies": {