Jessy_lg27
Messages postés12Date d'inscriptionjeudi 5 août 2021StatutMembreDernière intervention13 novembre 2022
-
Modifié le 12 nov. 2022 à 12:05
Jessy_lg27
Messages postés12Date d'inscriptionjeudi 5 août 2021StatutMembreDernière intervention13 novembre 2022
-
13 nov. 2022 à 17:47
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
yg_be
Messages postés23526Date d'inscriptionlundi 9 juin 2008StatutContributeurDernière intervention14 avril 2025Ambassadeur1 577 12 nov. 2022 à 13:23
bonjour,
pourquoi ne pas l'appeler deux fois?
Jessy_lg27
Messages postés12Date d'inscriptionjeudi 5 août 2021StatutMembreDernière intervention13 novembre 20221 Modifié le 12 nov. 2022 à 14:05
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
yg_be
Messages postés23526Date d'inscriptionlundi 9 juin 2008StatutContributeurDernière intervention14 avril 20251 577
>
Jessy_lg27
Messages postés12Date d'inscriptionjeudi 5 août 2021StatutMembreDernière intervention13 novembre 2022 12 nov. 2022 à 14:34
tu peux alors dupliquer la ligne pv--;
Jessy_lg27
Messages postés12Date d'inscriptionjeudi 5 août 2021StatutMembreDernière intervention13 novembre 20221
>
yg_be
Messages postés23526Date d'inscriptionlundi 9 juin 2008StatutContributeurDernière intervention14 avril 2025 12 nov. 2022 à 14:41
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
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...
Jessy_lg27
Messages postés12Date d'inscriptionjeudi 5 août 2021StatutMembreDernière intervention13 novembre 20221 12 nov. 2022 à 20:24
Merci de votre réponse mais sa ne marche toujours pas
jordane45
Messages postés38467Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention19 avril 20254 741
>
Jessy_lg27
Messages postés12Date d'inscriptionjeudi 5 août 2021StatutMembreDernière intervention13 novembre 2022 12 nov. 2022 à 22:25
As-tu mis des console.log dans ton code ?
Jessy_lg27
Messages postés12Date d'inscriptionjeudi 5 août 2021StatutMembreDernière intervention13 novembre 20221
>
jordane45
Messages postés38467Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention19 avril 2025 13 nov. 2022 à 16:13
J'ai déjà mis des consoles log La variable et bien soustraites de moins 1 mais elle s execute 2 fois donc moins 2
jordane45
Messages postés38467Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention19 avril 20254 741
>
Jessy_lg27
Messages postés12Date d'inscriptionjeudi 5 août 2021StatutMembreDernière intervention13 novembre 2022 13 nov. 2022 à 17:32
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 ?
Jessy_lg27
Messages postés12Date d'inscriptionjeudi 5 août 2021StatutMembreDernière intervention13 novembre 20221
>
jordane45
Messages postés38467Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention19 avril 2025 13 nov. 2022 à 17:47
Oui la condition gift et bien exécuté aussi deux fois, NonLa variable n'est pas soustraite Chargement de la page elle s'exécute de fois compte la condition est remplie
Modifié le 12 nov. 2022 à 14:05
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
12 nov. 2022 à 14:34
tu peux alors dupliquer la ligne pv--;
12 nov. 2022 à 14:41
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