Untitled
unknown
javascript
a year ago
2.9 kB
11
Indexable
var socket = null;
const logged_messages = [];
function tryForImage(child) {
try {
const img = child.querySelector('div[class*="imageWrapper"]');
if (img) {
const a = img.querySelector('a');
const href = a.href;
if (a && href && href !== '') {
if (!logged_messages.includes(href)) {
socket.send('download:' + href);
socket.send(href);
logged_messages.push(href);
return true;
}
} else {
return false;
}
} else {
return false;
}
} catch {
return false;
}
}
function tryForVideo(child) {
try {
const video = child.querySelector('video');
if (video) {
const src = video.src;
if (src && src !== '') {
if (!logged_messages.includes(src)) {
socket.send('download:' + src);
socket.send(src);
logged_messages.push(src);
return true;
}
} else {
return false;
}
} else {
return false;
}
} catch {
return false;
}
}
function main() {
let message_holder = document.querySelector('ol[aria-label="Messages in "]');
setInterval(() => {
if (!socket) {
return;
}
try {
if (!message_holder.children) {
message_holder = document.querySelector('ol[aria-label="Messages in "]');
}
} catch {
message_holder = document.querySelector('ol[aria-label="Messages in "]');
}
for (let child of message_holder.children) {
try {
const text = child.textContent;
if (child.tagName === "LI" && !logged_messages.includes(text) && text !== '') {
socket.send(text);
logged_messages.push(text);
}
} catch (err) {
console.error(err);
}
if (!tryForImage(child)) {
tryForVideo(child);
}
}
}, 500)
}
function handleMessages() {
socket.addEventListener("message", (event) => {
if (event.data.startsWith("messages:")) {
for (let msg of event.data.replace("messages:", '').split('\n')) {
logged_messages.push(msg);
}
main()
}
})
}
function connect_socket() {
socket = new WebSocket("ws://localhost:8001");
socket.addEventListener("open", () => {
handleMessages();
})
socket.addEventListener("close", () => {
connect_socket();
})
}
connect_socket();Editor is loading...
Leave a Comment