Last active
July 24, 2025 23:27
-
-
Save Monsterovich/3858e4957eb684237d28e2853d85ef9b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name Irina Bot Game list Table sorter and plugin | |
// @description Sorting the table with games with the function of filtering hostbots, as well as displaying notifications about joining and leaving players. | |
// @version 1.9 | |
// @grant none | |
// @match https://irinabot.ru/gamelist | |
// @match https://irinabot.ru/ | |
// @match https://ptr.irinabot.ru/ | |
// @match https://ptr.irinabot.ru/gamelist | |
// @author Monsterovich | |
// ==/UserScript== | |
// выкинуть хостботы из списка | |
const FILTER_HOST_BOTS = false; | |
// отслеживать свои игры | |
const WATCH_MY_GAME = true; | |
// отслеживать игры с хостами | |
const WATCH_HOSTS = ["Monsterovich"]; | |
// отслеживать игры с названиями (можно кусок названия) | |
const WATCH_NAMES = []; | |
// отслеживать игры с игроками | |
const WATCH_PLAYERS = []; | |
// играть звук, когда кто-то зашел в игру | |
const PLAY_NOTIFICACTION_SOUND = true; | |
// Установите Always visible Plugin чтобы постоянно получать оповещния о присоеденившихся игроках, даже когда вкладка браузера не в фокусе | |
// https://chrome.google.com/webstore/detail/always-active-window-alwa/ehllkhjndgnlokhomdlhgbineffifcbj | |
// https://addons.mozilla.org/en-US/firefox/addon/always-visible/ | |
function showNotification(title, text, playsound) { | |
if ("Notification" in window) { | |
if (Notification.permission === "granted") { | |
const notification = new Notification(title, { | |
body: text, | |
}); | |
} else if (Notification.permission !== "denied") { | |
Notification.requestPermission().then(function (permission) { | |
if (permission === "granted") { | |
const notification = new Notification(title, { | |
body: text, | |
}); | |
} | |
}); | |
} | |
if (playsound) { | |
const sound = "data:audio/ogg;base64,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"; | |
const audio = new Audio(); | |
audio.src = sound; | |
audio.play(); | |
} | |
} | |
} | |
function findAddedAndRemovedItems(array1, array2) { | |
const addedItems = array2.filter(item => !array1.includes(item)); | |
const removedItems = array1.filter(item => !array2.includes(item)); | |
return { addedItems, removedItems }; | |
} | |
const Columns = { | |
Version: 0, | |
PlayerCount: 1, | |
GameName: 2, | |
Players: 3, | |
HostName: 4, | |
JoinButton: 5 | |
}; | |
var gamesCache = {}; | |
function sortTable(table) { | |
const rowObjects = []; | |
for (let i = 1; i < table.rows.length; i++) { | |
const row = table.rows[i]; | |
const tokens = row?.cells[Columns.PlayerCount]?.textContent?.split("/"); | |
const playerList = row?.cells[Columns.Players]?.children[0]?.children; | |
const playerNames = []; | |
if (playerList) { | |
for (let i = 0; i < playerList.length; i++) { | |
playerNames.push(playerList[i].textContent); | |
} | |
} | |
if (tokens) { | |
const players = Number(tokens[0]); | |
const gameName = row.cells[Columns.GameName]?.textContent; | |
const hostName = row.cells[Columns.HostName]?.textContent; | |
const hostBot = FILTER_HOST_BOTS ? (gameName?.match(/(\+[0-9]+)|(\#[0-9]+)/g)?.length > 0) : false; | |
const rowStructure = { | |
row: row, | |
players: players, | |
// put self-hosted game on top | |
myGame: row?.cells[Columns.JoinButton]?.querySelectorAll("button")?.length > 1, | |
hostBot: hostBot, | |
playerNames: playerNames | |
}; | |
let matchedGame = | |
WATCH_HOSTS.some(host => host === hostName) || | |
WATCH_NAMES.some(name => gameName.includes(name)) || | |
WATCH_PLAYERS.some(player => playerNames.includes(player)); | |
if ((WATCH_MY_GAME && rowStructure.myGame) || matchedGame) { | |
if (gamesCache[gameName]) { | |
const changes = findAddedAndRemovedItems(gamesCache[gameName].playerNames, rowStructure.playerNames); | |
changes.addedItems.forEach(playerName => { | |
showNotification("Новый игрок", "Игра: " + gameName + "\n" + playerName + " присоеденился!", PLAY_NOTIFICACTION_SOUND); | |
}); | |
changes.removedItems.forEach(playerName => { | |
showNotification("Ливер", "Игра: " + gameName + "\n" + playerName + " вышел!", false); | |
}); | |
} | |
gamesCache[gameName] = rowStructure; | |
} | |
rowObjects.push(rowStructure); | |
} | |
} | |
rowObjects.sort((a, b) => { | |
if (a.myGame) { | |
return 0; | |
} else if (b.myGame) { | |
return 1; | |
} else { | |
return a.players < b.players; | |
} | |
}); | |
rowObjects.forEach((rowObject, index) => { | |
if (rowObject.hostBot) { | |
rowObject.row.style = "display: none"; | |
} | |
table.rows[index + 1].after(rowObject.row); | |
}); | |
} | |
window.addEventListener("load", () => { | |
const tables = document.getElementsByClassName("table"); | |
if (tables.length < 1) { | |
console.log("No tables found!"); | |
} | |
// fixme: watch for table to change | |
setInterval(function () { | |
const gamesTable = tables[0]; | |
if (gamesTable) { | |
sortTable(gamesTable); | |
} | |
}, 1000) | |
}, false); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment