Copy const WebSocket = require("ws")
const loginToken = "YOUR_TOKEN"
let heartbeatInt = null
const ws = new WebSocket("wss://monitor-api.tweet-catcher.com/websocket")
ws.on('error', console.error)
ws.on('close', async (code) => {
console.warn("Websocket connection closed with code:", code)
clearInterval(heartbeatInt)
/* Your reconnection logic */
})
ws.on('message', (data) => {
try
{
const objData = JSON.parse(data)
// console.log(objData)
switch (objData.op)
{
case 0: // New Notification
console.log("New notification", objData.d)
break
case 3: // Connection status updates
console.warn("Server connection closed with message:", objData.text)
break
case 4: // Ready event
console.log("Logged in!")
break
case 10: // Init heartbeat
ws.send(JSON.stringify({ op: 2, token: loginToken })) // Login
heartbeatInt = setInterval(() => {
try
{ ws.send('{"op":1}') }
catch (e)
{ console.error("Failed to send hearthbeat", e) }
}, objData.heartbeat_interval)
break
}
}
catch (e)
{
console.error("Error on ws on message:", e)
}
})