// ==UserScript==
// @name TLS CONTACT
// @description Appointment auto book france new version
// @version 7.0
// @grant none
// @match https://visas-fr.tlscontact.com/*
// @match https://visas-de.tlscontact.com/*
// @match https://visas-be.tlscontact.com/*
// ==/UserScript==
// Un outil pour réserver des rendez-vous TLS
const centerInfo = {
'TlsGermanyRabat_FamilyVisit': {
'code': 'exampleCode',
'country': 'de',
'aptType': 'court_sejour',
'issueCountry': 'ma',
'prefix': 'visas-'
},
'TlsGermanyRabat_Tourism': {
'code': 'exampleCode',
'country': 'de',
'aptType': 'tourism',
'issueCountry': 'ma',
'prefix': 'visas-'
},
// Ajouter les autres types de rendez-vous ici...
};
let isBookingSuccessful = false;
let isOperationInProgress = false;
let timerIntervalId;
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function aliveChecker() {
console.log("Vérification de la session...");
// Logique pour vérifier et maintenir la session...
}
function resetOperationFlag() {
isOperationInProgress = false;
}
async function keepSessionAlive() {
console.log("Maintien de la session active...");
// Logique pour maintenir la session active...
}
let hunterForm = document.getElementById('ttHunterForm');
if (hunterForm) {
console.log("Formulaire trouvé !");
} else {
console.log("Formulaire non trouvé, création du formulaire...");
// Créer et ajouter le formulaire HTML ici
const formHtml = `
<div id="textHunterTitle">TerminTracker | Hunter <span style="font-
size:14px;">v2.2B</span></div>
<form id="ttHunterForm">
<select id="itemHunterList" name="centHunterList">
<option value="TlsFranceCasablanca_Case1">TLS France à Casablanca
(cas 1)/MA</option>
<option value="TlsGermanyRabat_Tourism">TLS Allemagne (tourisme) à
Rabat/MA</option>
<!-- Ajoutez d'autres options ici -->
</select>
<button id="selectHunterButton">Prendre un Rendez-Vous</button>
</form>
<div id="messageZone">Prêt.</div>
`;
document.body.insertAdjacentHTML('beforeend', formHtml);
}
// Fonction pour réserver un créneau
async function parallelBookingTask(selectedCenter, ...params) {
try {
console.log("Tentative de réservation...");
// Logique de réservation ici...
} catch (error) {
console.error("Erreur lors de la réservation.", error);
}
}
// Gérer l'interface utilisateur
function handleGUI() {
const selectButton = document.getElementById('selectHunterButton');
selectButton.addEventListener('click', async function (event) {
event.preventDefault();
console.log("Bouton de réservation cliqué !");
// Appel à la logique de réservation...
});
}
// Vérification régulière
setInterval(aliveChecker, 5000); // toutes les 5 secondes