function get_episode() { const active = document.querySelector('li.b-simple_episode__item.active'); if (active) { const textContent = active.textContent.trim(); const episodeNumberString = textContent.replace("Серия ", ""); const episodeNumber = parseInt(episodeNumberString, 10); if (!isNaN(episodeNumber)) { return episodeNumber; } else { return 0; } } else { return 0; } } function get_season() { const active = document.querySelector('li.b-simple_season__item.active'); if (active) { const textContent = active.textContent.trim(); const episodeNumberString = textContent.replace("Сезон ", ""); const episodeNumber = parseInt(episodeNumberString, 10); if (!isNaN(episodeNumber)) { return episodeNumber; } else { return 0; } } else { return 0; } } function timeToMilliseconds(timeString) { const [hours, minutes, seconds] = timeString.split(':').map(Number); return (hours * 3600 + minutes * 60 + seconds) * 1000; } function get_timestamps() { const timeElements = document.querySelectorAll('pjsdiv[style*="pointer-events: none;"] noindex'); const times = []; timeElements.forEach(element => { times.push(element.textContent); }); const currentTime = times[0]; const totalTime = times[1].replace("/ ", ""); if (currentTime == NaN || totalTime == NaN) { console.warn("timestamps not found"); return [0, 0]; } return [timeToMilliseconds(currentTime), timeToMilliseconds(totalTime)]; } function get_name() { let element = document.querySelector('.b-post__title h1[itemprop="name"]'); return element.textContent; } function get_image_url() { const element = document.querySelector('.b-post__infotable_left .b-sidecover a img'); return element.src; } if (window.location.href.includes("flymaterez.net")) { setInterval(async () => { try { chrome.storage.local.get(['pluginEnabled'], function(result) { if (result.pluginEnabled === true) { chrome.runtime.sendMessage({ type: "send_rpc_request", title: document.title, url: window.location.href, episode: get_episode(), season: get_season(), timestamps: get_timestamps(), name: get_name(), image_url: get_image_url(), }); } console.log(result.pluginEnabled); }); } catch (error) { console.warn(error); } }, 1000); }