Il vous suffit de rajouter un listener qui appelle votre main.
addEventListener('topiclive:newmessage', main);
Ici, impossible d'utiliser le main. Il vous faudra créer une nouvelle fonction.
addEventListener('topiclive:newmessage', function(event){
// L'id du message est stocké dans event.detail.id
var message = document.getElementById(event.detail.id);
});
addEventListener('topiclive:newmessage', function(event){
if(blablabla) {
// Appeler cette méthode moins d'une seconde après l'event annulera l'affichage du message
event.detail.cancel();
}
});
Pour récupérer les liens dans un message, il vous faudra contourner JvCare. Chaque lien est un span
.
Vous devez envoyer le class
de ce span а̀ JvCake pour obtenir le lien.
addEventListener('topiclive:newmessage', function(event){
var message = document.getElementById(event.detail.id);
var spans = message.getElementsByTagName('span');
var liens = [];
for(var i = 0; i < spans.length; i++)
{
var lienEncrypte = spans[i].className;
// JvCake est stocké dans event.detail.jvcake
var lienDecrypte = event.detail.jvcake(lienEncrypte);
liens.push(lienDecrypte);
}
});
Le procédé est le même que pour obtenir un message :
addEventListener("topiclive:edition", function(event){
// ...
});
Si votre script a besoin d'avoir le message avec les citations, spoilers et liens corrigés, vous pouvez attendre que TopicLive ait fini de charger les messages. Attention, cette opération est déclenchée environ toutes les 5 secondes.
var nouveauxMessages = [];
addEventListener("topiclive:newmessage", function(event){
nouveauxMessages.push(event.detail.id);
});
addEventListener("topiclive:doneprocessing", function(){
// ...
});