-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtiktok-connector.js
84 lines (83 loc) · 2.52 KB
/
tiktok-connector.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
const { WebcastPushConnection } = require('tiktok-live-connector');
async function connectStream(channel, socket, cb) {
let tiktokLiveConnection = new WebcastPushConnection(channel, {
processInitialData: false,
enableExtendedGiftInfo: true,
enableWebsocketUpgrade: true,
requestPollingIntervalMs: 2000,
clientParams: {
"app_language": "en-US",
"device_platform": "web"
},
requestHeaders: {
"headerName": "headerValue"
},
websocketHeaders: {
"headerName": "headerValue"
},
requestOptions: {
timeout: 10000
},
websocketOptions: {
timeout: 10000
}
});
// Connect to the chat (await can be used as well)
tiktokLiveConnection.connect().then(state => {
console.info(`Connected to roomId ${state.roomId}`);
socket.emit(`connect-success-${channel}`, '');
cb(tiktokLiveConnection);
}).catch(err => {
console.error('Lỗi khi kết nối ', channel, {err});
setTimeout(() => {
connectStream(channel, socket, cb);
}, 1000);
});
socket.on(`dis-connect-${channel}`, () => {
console.log('dis', channel)
tiktokLiveConnection.disconnect();
});
tiktokLiveConnection.on('disconnected', () => {
console.error('Đã ngắt kết nối ', channel);
socket.emit(`disconnect-${channel}`, '');
});
}
module.exports = {
connectStream
};
// tiktokLiveConnection.on('chat', data => {
// socket.emit(`chat-${channel}`, data);
// });
// tiktokLiveConnection.on('member', data => {
// socket.emit(`member-${channel}`, data);
// });
// tiktokLiveConnection.on('gift', data => {
// socket.emit(`gift-${channel}`, data);
// })
// tiktokLiveConnection.on('roomUser', data => {
// socket.emit(`roomUser-${channel}`, data);
// })
// tiktokLiveConnection.on('like', data => {
// socket.emit(`like-${channel}`, data);
// })
// tiktokLiveConnection.on('social', data => {
// socket.emit(`social-${channel}`, data);
// })
// tiktokLiveConnection.on('emote', data => {
// socket.emit(`emote-${channel}`, data);
// });
// tiktokLiveConnection.on('envelope', data => {
// socket.emit(`envelope-${channel}`, data);
// })
// tiktokLiveConnection.on('questionNew', data => {
// socket.emit(`questionNew-${channel}`, data);
// })
// tiktokLiveConnection.on('subscribe', data => {
// socket.emit(`subscribe-${channel}`, data);
// })
// tiktokLiveConnection.on('follow', data => {
// socket.emit(`follow-${channel}`, data);
// })
// tiktokLiveConnection.on('share', data => {
// socket.emit(`share-${channel}`, data);
// })