Merge pull request #72 from cassoule/milo-260129

blackjack chat box
This commit is contained in:
Milo Gourvest
2026-01-29 17:00:43 +01:00
committed by GitHub
2 changed files with 12 additions and 2 deletions

View File

@@ -17,8 +17,8 @@ import {
// Optional: hook into your DB & Discord systems if available
import { getUser, insertLog, updateUserCoins } from "../../database/index.js";
import { client } from "../../bot/client.js";
import { emitToast, emitUpdate } from "../socket.js";
import { EmbedBuilder } from "discord.js";
import { emitToast, emitUpdate, emitPlayerUpdate } from "../socket.js";
import { EmbedBuilder, time } from "discord.js";
export function blackjackRoutes(io) {
const router = express.Router();
@@ -182,6 +182,7 @@ export function blackjackRoutes(io) {
}
emitUpdate("player-joined", snapshot(room));
emitPlayerUpdate({ id: userId, msg: `${user?.globalName || user?.username} a rejoint la table de Blackjack.`, timestamp: Date.now() });
return res.status(200).json({ message: "joined" });
});
@@ -222,6 +223,8 @@ export function blackjackRoutes(io) {
} else {
delete room.players[userId];
emitUpdate("player-left", snapshot(room));
const user = await client.users.fetch(userId);
emitPlayerUpdate({ id: userId, msg: `${user?.globalName || user?.username} a quitté la table de Blackjack.`, timestamp: Date.now() });
return res.status(200).json({ message: "left" });
}
});
@@ -356,6 +359,8 @@ export function blackjackRoutes(io) {
// Remove leavers
for (const userId of Object.keys(room.leavingAfterRound)) {
delete room.players[userId];
const user = await client.users.fetch(userId);
emitPlayerUpdate({ id: userId, msg: `${user?.globalName || user?.username} a quitté la table de Blackjack.`, timestamp: Date.now() });
}
// Prepare next round
startBetting(room, now);

View File

@@ -35,6 +35,10 @@ export function initializeSocket(server, client) {
registerConnect4Events(socket, client);
registerSnakeEvents(socket, client);
socket.on("blackjack:chat", (data) => {
io.emit("blackjack:chat", data);
});
socket.on("tictactoe:queue:leave", async ({ discordId }) => await refreshQueuesForUser(discordId, client));
socket.on("connect4:queue:leave", async ({ discordId }) => await refreshQueuesForUser(discordId, client));
socket.on("snake:queue:leave", async ({ discordId }) => await refreshQueuesForUser(discordId, client));
@@ -600,6 +604,7 @@ export async function emitPokerToast(data) {
}
export const emitUpdate = (type, room) => io.emit("blackjack:update", { type, room });
export const emitPlayerUpdate = (data) => io.emit("blackjack:chat", data);
export const emitToast = (payload) => io.emit("blackjack:toast", payload);
export const emitSolitaireUpdate = (userId, moves) => io.emit("solitaire:update", { userId, moves });