Function repeter 2 fois
Jessy_lg27 Messages postés 12 Date d'inscription Statut Membre Dernière intervention -
bonjour,
// This will use the demo backend if you open index.html locally via file://, otherwise your server will be used let backendUrl = location.protocol === 'file:' ? "https://tiktok-chat-reader.zerody.one/" : undefined; let connection = new TikTokIOConnection(backendUrl); // Counter let viewerCount = 0; let likeCount = 0; let diamondsCount = 0; let pv = 10; // These settings are defined by obs.html if (!window.settings) window.settings = {}; $(document).ready(() => { $('#connectButton').click(connect); $('#uniqueIdInput').on('keyup', function (e) { if (e.key === 'Enter') { connect(); } }); if (window.settings.username) connect(); }) function connect() { let uniqueId = window.settings.username || $('#uniqueIdInput').val(); if (uniqueId !== '') { $('#stateText').text('Connecting...'); connection.connect(uniqueId, { enableExtendedGiftInfo: true }).then(state => { $('#stateText').text(`Connected to roomId ${state.roomId}`); // reset stats viewerCount = 0; likeCount = 0; diamondsCount = 0; updateRoomStats(); }).catch(errorMessage => { $('#stateText').text(errorMessage); // schedule next try if obs username set if (window.settings.username) { setTimeout(() => { connect(window.settings.username); }, 30000); } }) } else { alert('no username entered'); } } function test(data){ if (data.giftName == 'Rose'){ pv--; console.log(pv) $('#pv').html(`${pv} PV`) $('#bar').val(pv) // document.getElementById('animal').style.marginTop = "2%"; // setTimeout(() => { // document.getElementById('animal').style.marginTop = "1%"; // var audio = new Audio('pig.wav'); //audio.play(); // }, 50); }else if (data.giftName == 'TikTok'){ pv--; $('#pv').html(`${pv} PV`) $('#bar').val(pv) // document.getElementById('animal').style.marginTop = "2%"; // setTimeout(() => { // document.getElementById('animal').style.marginTop = "1%"; // var audio = new Audio('pig.wav'); // audio.play(); // }, 50); } } // Prevent Cross site scripting (XSS) function sanitize(text) { return text.replace(/</g, '<') } function updateRoomStats() { $('#roomStats').html(`Viewers: <b>${viewerCount.toLocaleString()}</b> Likes: <b>${likeCount.toLocaleString()}</b> Earned Diamonds: <b>${diamondsCount.toLocaleString()}</b>`) } function generateUsernameLink(data) { return `<a class="usernamelink" href="https://www.tiktok.com/@${data.uniqueId}" target="_blank">${data.uniqueId}</a>`; } function isPendingStreak(data) { return data.giftType === 1 && !data.repeatEnd; } // viewer stats connection.on('roomUser', (msg) => { if (typeof msg.viewerCount === 'number') { viewerCount = msg.viewerCount; updateRoomStats(); } }) // like stats connection.on('like', (msg) => { if (typeof msg.totalLikeCount === 'number') { likeCount = msg.totalLikeCount; updateRoomStats(); } if (window.settings.showLikes === "0") return; if (typeof msg.likeCount === 'number') { } }) // Member join let joinMsgDelay = 0; connection.on('member', (msg) => { if (window.settings.showJoins === "0") return; let addDelay = 250; if (joinMsgDelay > 500) addDelay = 100; if (joinMsgDelay > 1000) addDelay = 0; joinMsgDelay += addDelay; setTimeout(() => { joinMsgDelay -= addDelay; }, joinMsgDelay); }) // New chat comment received connection.on('chat', (msg) => { if (window.settings.showChats === "0") return; }) // New gift received connection.on('gift', (data) => { if (!isPendingStreak(data) && data.diamondCount > 0) { diamondsCount += (data.diamondCount * data.repeatCount); updateRoomStats(); test(data); } if (window.settings.showGifts === "0") return; }) // share, follow connection.on('social', (data) => { if (window.settings.showFollows === "0") return; let color = data.displayType.includes('follow') ? '#ff005e' : '#2fb816'; }) connection.on('streamEnd', () => { $('#stateText').text('Stream ended.'); // schedule next try if obs username set if (window.settings.username) { setTimeout(() => { connect(window.settings.username); }, 30000); } })
**je veux que la "function" test ce répete un fois**
en utilisent cette api c'est la premiere foix que je rencotre ce bug
**j'obtiens j'obtiens la "function" en double **
la variable pv donc pv--; = a -2 aulieux de -1
Windows / Chrome 107.0.0.0
- Function repeter 2 fois
- Supercopier 2 - Télécharger - Gestion de fichiers
- 2 ecran pc - Guide
- Téléphone sonne 2 fois puis messagerie ✓ - Forum telephonie fixe
- Paris multiple 2/6 explication ✓ - Forum Loisirs / Divertissements
- +33 2 22 06 18 43 ✓ - Forum Mobile
2 réponses
bonjour,
pourquoi ne pas l'appeler deux fois?
Bonjour,
Commence par remplacer la ligne de code :
$('#connectButton').click(connect);
par
$('#connectButton').click(function(){ connect(); });
Puis vide bien le cache de ton navigateur avant de reessayer.
Si le souci persiste, rajoute des console.log dans ton code pour savoir quel code est exécuté exactement...
As tu mis un console.log dans la fonction
connection.on('gift' pour voir si elle n'est déclenchée qu'une seule fois ?
Puis un autre dans le IF de cette fonction ?
La soustraction se fait deux fois nous dis tu .. les deux en même temps ou une au chargement de la page .. puis une autre ensuite suite à une action de ta part ?
Pour que la fonction s'exécute correctement elle doit être appeler qu'une fois
Pour que la variable pv perde -1 et pas -2
Cordialement
Jessy.L
tu peux alors dupliquer la ligne pv--;
Je ne souhaite pas avoir moins deux mais moins un mais ma function et exécuter deux fois par erreur Alors que pourtant dans mon code je l'appelle qu'une fois