-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathboilerplate.js
140 lines (125 loc) · 3.29 KB
/
boilerplate.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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
/*
{
"widgetDuration":{
"type": "hidden",
"value": 15
}
}
*/
const endEvent = (time) => setTimeout(() => SE_API.resumeQueue(), time * 1000);
const skippable = ["bot:counter", "event:test", "event:skip", "message"];
window.addEventListener('onEventReceived', obj => {
const listener = obj.detail.listener;
if (skippable.indexOf(listener) !== -1 || !obj.detail.event) return;
else if (typeof obj.detail.event.itemId !== "undefined") obj.detail.listener = "redemption-latest";
const event = obj.detail.event;
switch (obj.detail.listener) {
case 'follower-latest':
followerHandler(event);
break;
case 'redemption-latest':
redemptionHandler(event);
break;
case 'subscriber-latest':
if (event.amount === 'gift') subscriberHandler('subGiftHandler', event); //single gift
else if (event.bulkGifted) subscriberHandler('subBulkGiftSenderHandler', event); //bulk gift sender
else if (event.isCommunityGift) subscriberHandler('subBulkGiftRecieverHandler', event); //user recieved a bulk gift
else subscriberHandler('subDefaultHandler', event); //normal sub
break;
case 'host-latest':
hostHandler(event);
break;
case 'cheer-latest':
cheerHandler(event);
break;
case 'tip-latest':
tipHandler(event);
break;
case 'raid-latest':
raidHandler(event);
break;
default:
endEvent(0);
return;
};
});
window.addEventListener('onWidgetLoad', obj => {
//empty
});
//Sub handler:
const subscriberHandler = (type, event) => {
let res, queueTime,
newSubUsername = event.name,
subGifter = event.sender,
amount = event.amount;
switch (type) {
case 'subDefaultHandler':
res = 'subDefaultHandler';
queueTime = 5;
break;
case 'subGiftHandler':
res = `${subGifter} gifted ${newSubUsername} a sub!`;
queueTime = 5;
break;
case 'subBulkGiftSenderHandler':
res = `${subGifter} gifted ${amount} subs to community`;
queueTime = 5;
break;
case 'subBulkGiftRecieverHandler':
res = `${subGifter} gifted ${newSubUsername} a sub as part of random giveaway! ${Date.now()}`;
queueTime = 1;
break;
default:
console.error('SubHandler Error');
SE_API.resumeQueue();
return;
};
console.log(res, event);
temp(res);
endEvent(queueTime);
};
const followerHandler = (event) => {
let res = 'followerHandler',
queueTime = 10;
console.log(res, event);
temp(res);
endEvent(queueTime);
};
const redemptionHandler = (event) => {
let res = 'redemptionHandler',
queueTime = 10;
console.log(res, event);
temp(res);
endEvent(queueTime);
};
const hostHandler = (event) => {
let res = 'hostHandler',
queueTime = 10;
console.log(res, event);
temp(res);
endEvent(queueTime);
};
const cheerHandler = (event) => {
let res = 'cheerHandler',
queueTime = 10;
console.log(res, event);
temp(res);
endEvent(queueTime);
};
const tipHandler = (event) => {
let res = 'tipHandler',
queueTime = 10;
console.log(res, event);
temp(res);
endEvent(queueTime);
};
const raidHandler = (event) => {
let res = 'raidHandler',
queueTime = 10;
console.log(res, event);
temp(res);
endEvent(queueTime);
};
const temp = (i) => {
$('.main-container').html(i);
}