-
Notifications
You must be signed in to change notification settings - Fork 0
/
InjectTwitchChatHome.js
99 lines (87 loc) · 2.85 KB
/
InjectTwitchChatHome.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
//--------------------------------------- BOUNCING TRANSLATION -------------------------------------------
// BOUNCING INCOMING MESSAGE TO THE LIVE CHAT SUBMITTER
var sendBtn;
var ChatText;
var ChatInputPanel;
function SendTextEnter(inputtext){
ChatText.value = inputtext.replaceAll("\\\"", "\"");
var evt = document.createEvent("Events");
evt.initEvent("change", true, true);
ChatText.dispatchEvent(evt);
sendBtn.click();
}
function LatchChatBox(){
ChatText = null;
sendBtn = null;
var testT = document.getElementsByTagName('textarea');
for (var i = 0; i < testT.length; i++) {
if (!testT[i].getAttribute("data-a-target")){
continue;
} else if (testT[i].getAttribute("data-a-target").indexOf("chat-input") != -1) {
ChatText = testT[i];
break;
}
}
var testB = document.getElementsByTagName('button');
for (var i = 0; i < testB.length; i++) {
if (!testB[i].getAttribute("data-a-target")){
continue;
} else if (testB[i].getAttribute("data-a-target").indexOf("chat-send-button") != -1) {
sendBtn = testB[i];
break;
}
}
if ((ChatText != null) && (sendBtn != null)){
spn.textContent = "Synced and ready.";
OpenReceiver();
} else {
spn.textContent = "Can't find Live Chat Input";
}
}
//=============================================================================================================
var ChatElementTarget = "chat-room-header-label";
var spn = document.createElement('p');
spn.textContent = "Looking for the chatbox...";
spn.style.fontSize = '15px';
spn.style.background = 'black';
spn.style.color = 'white';
spn.style.margin = '3px 10px 3px 10px';
spn.style.width = "100%"
spn.style.textAlign = "center";
var ExtContainer = document.createElement('div');
ExtContainer.id = "Extcontainer";
ExtContainer.appendChild(spn);
function OpenReceiver() {
window.addEventListener('message', (e) => {
if (e.origin == "https://app.mchatx.org") {
if (e.data.n == "MChatXXMSync") {
if (ChatText) {
SendTextEnter(e.data.d);
}
}
}
});
}
function Load() {
if ((document.referrer == "https://app.mchatx.org/") && (window.location != parent.location)) {
var i = 0;
const intv = setInterval(() => {
i++;
var target = document.getElementById(ChatElementTarget);
if (target.length != 0){
if (document.getElementById("Extcontainer") != null){
var ExtcontainerTemp = document.getElementById("Extcontainer");
ExtcontainerTemp.parentNode.removeChild(ExtcontainerTemp);
}
target.prepend(ExtContainer);
LatchChatBox();
clearInterval(intv);
} if (i == 30){
clearInterval(intv);
}
}, 1000);
}
}
function LoadButtons() {
}
Load();