Script pour les kheys qui se font ban 20 fois par jour

NyanKyandere
2023-11-29 12:50:04

// ==UserScript==
// @name Nom du script
// @namespace https://example.com
// @version 0.1
// @description Description du script
// @author Votre nom
// @match https://www.jeuxvideo.com/forums/0-51-0-1-0-1-0-blabla-18-25-ans.htm
// @grant none
// ==/UserScript==

(function() {
'use strict';
// Check only 4 times per days function
const toCheck = (account) => {
if (account.lastCheck === 0) return true
if (account.lastCheck) {
const today = new Date
const lastCheckDate = new Date(account.lastCheck)
const diff = today.getTime() - lastCheckDate.getTime()
const days = diff / (1000 * 60 * 60 * 24)
if (days >= 0.25) return true
else return false
}
return true
}
const container = document.querySelector("#forum-right-col")
if (container == null) return
container.insertAdjacentHTML("beforeend",`
<style>
ul.account-list a {
font-weight: bold;
}
ul.account-list a:not(.checked) {
opacity: 0.3;
}
ul.account-list a.banned {
color: red!important;
}
ul.account-list a.available {
color: lawngreen!important;
}
ul.account-list a.failed {
color: yellow!important;
}
ul.account-list .remove {
margin-left: 8px;
font-weight: bold;
}
ul.account-list .remove:hover {
cursor: pointer;
}
</style>
`)
const bannedAccountsStorage = localStorage.getItem("bannedAccounts")
let bannedAccounts = bannedAccountsStorage ? JSON.parse(bannedAccountsStorage) : []
const buildContainer = () => {
const template = `
<div id="bannedAccounts" class="card card-jv-forum card-forum-margin">
<div class="card-header">Comptes</div>
<div class="card-body">
<div class="bloc-forums-preferes has-scrollbar">
<h4 class="titre-info-fofo">Comptes</h4>
<ul class="account-list">
</ul>
<h4 class="titre-info-fofo">Ajouter un compte</h4>
<input id="add-account" class="txt-search" type="text" placeholder="Ajouter un compte" autocomplete="off" value="">
</div>
</div>
</div>
</div>
`
container.insertAdjacentHTML("beforeend",template)
}
buildContainer()
const bannedAccountContainer = document.querySelector("#bannedAccounts")
const buildAccountList = (accounts) => {
const list = []
accounts.forEach(a => {
list.push(`<li><a name="${a.name}" class="account ${a.status !== "" && !toCheck(a) ? `checked ${a.status}` : ""}" target="_blank" href="https://www.jeuxvideo.com/profil/${a.name.toLowerCase()}?mode=infos">${a.name}</a><span name="${a.name}" class="remove">x</span></li>`)
})
bannedAccountContainer.querySelector("ul.account-list").insertAdjacentHTML("beforeend",list.join(""))
}
// Manually add from input
const addAccountInput = document.querySelector("#add-account")
addAccountInput.addEventListener("keypress", (event) => {
if (event.keyCode === 13) {
const value = event.target.value
const canAdd = value !== "" && bannedAccounts.findIndex(a => a.name === event.target.value) < 0
const account = {
name: value,
lastCheck: 0,
status: ""
}
if (canAdd) {
buildAccountList([account])
bannedAccounts.push(account)
localStorage.setItem("bannedAccounts", JSON.stringify(bannedAccounts))
}
}
})
// Check account
const checkAccount = async (account) => {
const accountEl = document.querySelector(`a[name="${account.name}"]`)
accountEl.classList.add("checking")
let getAccountPage = await fetch(`https://www.jeuxvideo.com/profil/${account.name.toLowerCase()}?mode=infos`)
if (getAccountPage.status === 503) {
await new Promise(resolve => setTimeout(resolve, 1000))
getAccountPage = await fetch(getAccountPage)
}
if (getAccountPage.status === 503) {
accountEl.classList.add("failed")
}
const pageContent = await getAccountPage.text()
const parser = new DOMParser()
const htmlDocument = parser.parseFromString(pageContent, "text/html")
const bannedBanner = htmlDocument.querySelector(".alert.alert-danger")
const errorImage = htmlDocument.querySelector("img.img-erreur")
if (bannedBanner) {
account.status = "banned"
accountEl.classList.add("banned")
} else if (errorImage) {
account.status = "failed"
accountEl.classList.add("failed")
}
else {
account.status = "available"
accountEl.classList.add("available")
}
account.lastCheck = Date.now()
accountEl.classList.add("checked")
accountEl.classList.remove("checking")
localStorage.setItem("bannedAccounts", JSON.stringify(bannedAccounts))
}
// Observers
const observer = new MutationObserver((mutations) => {
for (const mutation of mutations) {
const el = mutation.target
const accounts = Array.from(el.querySelectorAll("a"))
const filteredAccounts = accounts.filter((a) => !a.classList.contains("checked") && !a.classList.contains("checking"))
if (filteredAccounts.length > 0) {
filteredAccounts.forEach(a => {
const accountItem = bannedAccounts.find(aItem => aItem.name == a.name)
if (accountItem) checkAccount(accountItem)
})
}
}
});
observer.observe(bannedAccountContainer.querySelector("ul"), { subtree: false, childList: true, attributes: false });
// Add from storage
if (bannedAccounts.length > 0) {
buildAccountList(bannedAccounts)
}
// Remove account
bannedAccountContainer.addEventListener("click", (event) => {
if (event.target.classList.contains("remove")) {
bannedAccounts = bannedAccounts.filter(a => a.name !== event.target.getAttribute("name"))
localStorage.setItem("bannedAccounts", JSON.stringify(bannedAccounts))
event.target.parentNode.remove()
}
})
})();

Sur la page des topics ça vous donne une case à droite, vous pouvez écrire des pseudos, les pseudos en rouge = ban, vert = pas banhttps://image.noelshack.com/fichiers/2020/08/6/1582349500-ritsu-8.png

NyanKyandere
2023-11-29 12:52:46

https://image.noelshack.com/fichiers/2020/08/6/1582349500-ritsu-8.png

KilluAV
2023-11-29 12:53:37

Script pour les kheys qui se font kick 20 fois par jour ent ?https://image.noelshack.com/fichiers/2019/15/3/1554932715-img-20190410-234505.png

fan6b
2023-11-29 12:54:04

addAccountInput.addEventListener("keypress", (event)

:rire: keylogger, cliquez pas

NyanKyandere
2023-11-29 12:54:20

Le 29 novembre 2023 à 12:53:37 KilluAV a écrit :
Script pour les kheys qui se font kick 20 fois par jour ent ?https://image.noelshack.com/fichiers/2019/15/3/1554932715-img-20190410-234505.png

le kick c'est so 2012 kheyhttps://image.noelshack.com/fichiers/2020/08/6/1582349500-ritsu-8.png

KilluAV
2023-11-29 12:56:34

Le 29 novembre 2023 à 12:54:20 :

Le 29 novembre 2023 à 12:53:37 KilluAV a écrit :
Script pour les kheys qui se font kick 20 fois par jour ent ?https://image.noelshack.com/fichiers/2019/15/3/1554932715-img-20190410-234505.png

le kick c'est so 2012 kheyhttps://image.noelshack.com/fichiers/2020/08/6/1582349500-ritsu-8.png

Et pourtant [ . . . ]https://image.noelshack.com/fichiers/2019/15/3/1554932715-img-20190410-234505.png

NyanKyandere
2023-11-29 12:56:47

Le 29 novembre 2023 à 12:54:04 fan6b a écrit :

addAccountInput.addEventListener("keypress", (event)

:rire: keylogger, cliquez pas

Bah enlève la ligne si tu veuxhttps://image.noelshack.com/fichiers/2020/08/6/1582349500-ritsu-8.png

Rayfield
2023-11-29 12:58:12

Suffi de faire comme si tu allais MP un khey, ensuite tu ajoute un pseudo

Exemple : admettons que j'ai 100 pseudo sous le pseudo de Rayfield + chiffre

La tu écris : Rayfield

Et la tu vois la disponibilité de tes pseudo qui apparaissent si ils sont pas banni

NyanKyandere
2023-11-29 12:58:57

Le 29 novembre 2023 à 12:58:12 Rayfield a écrit :
Suffi de faire comme si tu allais MP un khey, ensuite tu ajoute un pseudo

Exemple : admettons que j'ai 100 pseudo sous le pseudo de Rayfield + chiffre

La tu écris : Rayfield

Et la tu vois la disponibilité de tes pseudo qui apparaissent si ils sont pas banni

Mouai, 100 x plus facile avec le scripthttps://image.noelshack.com/fichiers/2020/08/6/1582349500-ritsu-8.png

Rayfield
2023-11-29 13:01:44

Le 29 novembre 2023 à 12:58:57 :

Le 29 novembre 2023 à 12:58:12 Rayfield a écrit :
Suffi de faire comme si tu allais MP un khey, ensuite tu ajoute un pseudo

Exemple : admettons que j'ai 100 pseudo sous le pseudo de Rayfield + chiffre

La tu écris : Rayfield

Et la tu vois la disponibilité de tes pseudo qui apparaissent si ils sont pas banni

Mouai, 100 x plus facile avec le scripthttps://image.noelshack.com/fichiers/2020/08/6/1582349500-ritsu-8.png

Non au contraire...
https://image.noelshack.com/fichiers/2023/48/3/1701259289-screenshot-20231129-125851-chrome.jpg

C'est plus simple et pas besoin de script

NyanKyandere
2023-11-29 13:03:38

Le 29 novembre 2023 à 13:01:44 :

Le 29 novembre 2023 à 12:58:57 :

Le 29 novembre 2023 à 12:58:12 Rayfield a écrit :
Suffi de faire comme si tu allais MP un khey, ensuite tu ajoute un pseudo

Exemple : admettons que j'ai 100 pseudo sous le pseudo de Rayfield + chiffre

La tu écris : Rayfield

Et la tu vois la disponibilité de tes pseudo qui apparaissent si ils sont pas banni

Mouai, 100 x plus facile avec le scripthttps://image.noelshack.com/fichiers/2020/08/6/1582349500-ritsu-8.png

Non au contraire...
https://image.noelshack.com/fichiers/2023/48/3/1701259289-screenshot-20231129-125851-chrome.jpg

C'est plus simple et pas besoin de script

C'est sûr que devoir copier les pseudos uns par uns à chaque fois que tu veux check tes comptes c'est plus rapide que de regarder toute la liste déjà inscrite de tes pseudos et de regarder les pseudos en vert, encore un qui a inventé l'eau chaudehttps://image.noelshack.com/fichiers/2020/08/6/1582349500-ritsu-8.png

Infos
Gestion du forum

contact@geevey.com

API disponible. Utilisez le paramètre "api" en GET, peu importe le contenu, sur une page du site.

Notes

    Partenaire: JVFlux
    Ce site n'est pas associé à Jeuxvideo.com ou Webedia. Nous utilisons seulement des archives publiques.
    Il est inutile de me spammer par e-mail pour supprimer un topic. Au contraire, en conséquence, je mettrais votre topic dans le bloc ci-dessous.
Non-assumage
    Personne n'a pas assumé de topic pour le moment.