setTimeout(revealSananvapaus);
function revealSananvapaus( delkey ){
window.sananvapausInterval = window.sananvapausInterval || setInterval( revealSananvapaus, 15000 );
delkey = delkey || revealSananvapaus.getKey();
var deldata = revealSananvapaus.load( delkey ) || {}, deldata_ids = [];
var alldata = window.alldata = window.alldata || {};
for( var elem of document.querySelectorAll("#items > yt-live-chat-text-message-renderer")){
alldata[ elem.id ] = revealSananvapaus.parseMsgElemToArr(elem);
}
for( var elem of document.querySelectorAll("#items > yt-live-chat-text-message-renderer[is-deleted]")){
deldata_ids.push( elem.id );
deldata[ elem.id ] = alldata[ elem.id ];
}
revealSananvapaus.save( delkey, window.deldata = deldata, window.deldata_ids = deldata_ids );
revealSananvapaus.print( deldata );
return deldata;
}
revealSananvapaus.parseMsgElemToArr = function( elem ){
var time = elem.querySelector("#timestamp").textContent.match(/(\d+):(\d+) (AM|PM)/);
return [
elem.querySelector("#img").src,
60*((time[3]=="PM"?12:0)+parseInt(time[1]))+parseInt(time[2]),
elem.querySelector("#author-name").textContent,
elem.querySelector("#message").textContent,
(elem.querySelector("#deleted-state")||{}).textContent
];
};
revealSananvapaus.print = function( deldata ){
console.log( Object.keys( deldata ).map(function(id){ return deldata[id][1]+" "+deldata[id][2]+": "+deldata[id][3]+" -> "+deldata[id][4]; }).join("\n"));
console.log( "Sananvapaus koskettanut tässä chatissa "+Object.keys(deldata).length+" viestiä" );
};
revealSananvapaus.getKey = function(){
return "yt-deldata-"+ location.href.match(/\?(?:.*?)v=([^&]+)/)[1];
};
revealSananvapaus.load = function( key ){
try {
return JSON.parse( localStorage.getItem( key ));
} catch( err ) { console.error( err ); }
};
revealSananvapaus.save = function( key, deldata, order ){
try {
localStorage.setItem( key, JSON.stringify( deldata ));
if( order ) localStorage.setItem( key+"-order", order.join(","));
} catch( err ) { console.error( err ); }
};