YouTube/Twitch live chat backend WebSocket proxy

- YouTube chat polling via liveBroadcasts + liveChat/messages APIs
- Twitch IRC WebSocket client with IRCv3 tag parsing
- ChatManager orchestrator with token refresh, retry logic
- WebSocket endpoint at /chat/ws with JWT auth
- Added chat:read, chat:edit to Twitch OAuth scopes
This commit is contained in:
2026-03-01 22:19:19 +01:00
parent 08cca68086
commit cc8ab2320b
8 changed files with 965 additions and 1 deletions

View File

@@ -19,6 +19,7 @@
"@fastify/cookie": "^11.0.1",
"@fastify/cors": "^10.0.1",
"@fastify/rate-limit": "^10.2.1",
"@fastify/websocket": "^11.2.0",
"@prisma/client": "^6.4.1",
"fastify": "^5.2.1",
"fastify-plugin": "^5.0.1",
@@ -27,9 +28,10 @@
},
"devDependencies": {
"@types/node": "^22.13.4",
"@types/ws": "^8.18.1",
"prisma": "^6.4.1",
"tsx": "^4.19.3",
"typescript": "^5.7.3",
"vitest": "^3.0.5"
}
}
}