начало чата
All checks were successful
Deploy / deploy (push) Successful in 3m47s

This commit is contained in:
2026-04-16 02:21:54 +06:00
parent 9f39ee6430
commit 0915d3c64d
26 changed files with 1592 additions and 1112 deletions

28
server/socket/chat.ts Normal file
View File

@@ -0,0 +1,28 @@
import type { Server as SocketServer } from 'socket.io'
import type { ChatClientMessage, ChatMessage } from '../types/chat.ts'
import { v4 as uuidv4 } from 'uuid'
export default async function (io: SocketServer) {
const messages: ChatMessage[] = []
io.on('connection', async (socket) => {
socket.on('chat:message', async (clientMessage: ChatClientMessage, cb) => {
const message: ChatMessage = {
id: uuidv4(),
createdAt: new Date().toISOString(),
sender: socket.data.username,
text: clientMessage.text,
}
console.log(message)
messages.push(message)
if (messages.length > 5000) {
messages.shift()
}
io.emit('chat:new-message', message)
})
})
}