A work-in-progress chat bot for Streamplace with chat overlay functionality
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

(minor fix) got rid of any type

+16 -10
+16 -10
routes/api/websocket/[streamerHandle].ts
··· 2 2 import { streamplaceWS } from "../../../utils/websocket.ts"; 3 3 import { resolveHandle } from "../../../utils/atcuteUtils.ts"; 4 4 5 + interface StreamplaceWebSocket extends WebSocket { 6 + streamerDid: Did; 7 + } 8 + 5 9 export const handler = define.handlers({ 6 10 async GET(ctx) { 7 11 const { streamerHandle } = ctx.params; ··· 14 18 const { socket, response } = Deno.upgradeWebSocket(ctx.req); 15 19 const streamerDid = await resolveHandle(streamerHandle as Handle); 16 20 17 - socket.onopen = () => { 21 + // Cast the socket to our extended type 22 + const spSocket = socket as StreamplaceWebSocket; 23 + 24 + spSocket.onopen = () => { 18 25 console.log( 19 26 `✅ New websocket client connected for streamer: ${streamerHandle}`, 20 27 ); 21 - // Store the streamerDid with the socket 22 - (socket as any).streamerDid = streamerDid; 23 - streamplaceWS.handleNewConnection(socket, streamerDid); 28 + spSocket.streamerDid = streamerDid; 29 + streamplaceWS.handleNewConnection(spSocket, streamerDid); 24 30 }; 25 31 26 - socket.onmessage = (event) => { 32 + spSocket.onmessage = (event) => { 27 33 try { 28 34 console.log(`Received client message: ${event.data}`); 29 35 const message = JSON.parse(event.data); 30 - streamplaceWS.handleClientMessage(socket, message); 36 + streamplaceWS.handleClientMessage(spSocket, message); 31 37 } catch (error) { 32 38 console.error("Error handling client message:", error); 33 - socket.send( 39 + spSocket.send( 34 40 JSON.stringify({ error: "Invalid message format" }), 35 41 ); 36 42 } 37 43 }; 38 44 39 - socket.onclose = () => { 45 + spSocket.onclose = () => { 40 46 console.log( 41 47 `❎ Websocket client disconnected for streamer: ${streamerHandle}`, 42 48 ); 43 - streamplaceWS.removeClient(socket); 49 + streamplaceWS.removeClient(spSocket); 44 50 }; 45 51 46 - socket.onerror = (error) => { 52 + spSocket.onerror = (error) => { 47 53 console.error("WebSocket error:", error); 48 54 }; 49 55