const WebSocket = require('ws');
const { inspect } = require('util');
const SYMBOL_ID = '2884';
const PING_INTERVAL = 30000;
const ws = new WebSocket(`wss://fugle.api.fugle.tw/realtime/v0/intraday/quote?symbolId=${SYMBOL_ID}`);
ws.on('error', (err) => console.error(err));
ws.on('unexpected-response', (err) => console.error(err));
ws.on('open', () => console.log('open'));
ws.on('message', (str) => console.log(inspect(JSON.parse(str), false, null, true)));
ws.on('ping', () => console.log('ping'));
ws.on('pong', () => console.log('pong'));
ws.on('close', () => console.log('close'));
setInterval(() => ws.ping(), PING_INTERVAL);