Affiche une notification de bureau lors de la réception d'un message
当前为
// ==UserScript==
// @name T411 - Shoutbox notifications
// @namespace https://www.t411.ch
// @description Affiche une notification de bureau lors de la réception d'un message
// @author M1st3rN0b0d7, Micdu70
// @match http://www.t411.ch/chati/*
// @match https://www.t411.ch/chati/*
// @grant none
// @version 1.0.2
// ==/UserScript==
function INIT()
{
var url = document.location.protocol + '//www.t411.ch/users/profile/';
var http = new XMLHttpRequest();
http.open("GET", url, true);
http.timeout = 15000;
http.ontimeout = function(e)
{
alert('Script Shoutbox notifications : Impossible d\'obtenir votre pseudo, site instable ? Actualisez la page...');
};
http.onreadystatechange = function()
{
if (http.readyState == 4 && http.status == 200)
{
getYourUsername(http.response);
}
};
http.send(null);
}
function getYourUsername(x)
{
var tempDiv = document.createElement('div');
tempDiv.innerHTML = x.replace(/<script(.|\s)*?\/script>/g, '');
var title = tempDiv.getElementsByTagName('title')[0].innerHTML;
if (title.indexOf('Membre') != -1)
{
var yourusername = title.slice(19).slice(0, title.indexOf(' '));
Check(yourusername);
}
else
{
alert('Script Shoutbox notifications : Impossible d\'obtenir votre pseudo, site instable ? Actualisez la page...');
}
}
function Check(me)
{
var me_test = me.toLowerCase();
document.getElementById('messages').addEventListener('DOMNodeInserted', function (event)
{
if (event.target.parentNode.id == 'messages')
{
var element = document.getElementsByClassName("message")[0];
var user = element.getElementsByTagName("strong")[0];
var user_pv = element.getElementsByTagName("strong")[1];
var msg = element.getElementsByTagName("p")[0];
var msg1 = "";
if (user.innerText.split(' ')[0] !== me)
{
if (user_pv !== undefined)
{
msg1 = msg.innerHTML.replace(/<a.*?>(.*?)<\/a>/g, "$1").replace(/<img.*?alt="(.*?)">/g, "$1").replace(/((<.*?>)+).*?((<\/.*?>)+)/g, "");
notifyMe("pv", user.innerText, msg1);
}
else
{
var test = msg.innerText.toLowerCase().indexOf(me_test);
if (test !== -1)
{
msg1 = msg.innerHTML.replace(/<a.*?>(.*?)<\/a>/g, "$1").replace(/<img.*?alt="(.*?)">/g, "$1").replace(/((<.*?>)+).*?((<\/.*?>)+)/g, "");
notifyMe(true, user.innerText, msg1);
}
}
}
}
});
}
function notifyMe(x, user, msg)
{
if (x === undefined)
{
if (!Notification)
{
alert('Notifications de bureau non supportées.');
return;
}
if (Notification.permission === "denied")
{
alert('Notifications de bureau sont bloquées.');
return;
}
if (Notification.permission !== "granted")
{
Notification.requestPermission();
}
}
else
{
var notification = "";
if (x !== "pv")
{
notification = new Notification('Shoutbox T411',
{
icon: 'https://www.t411.ch/themes/blue/images/logo.png',
body: user + " vous a cité :\n" + msg
});
} else {
notification = new Notification('Shoutbox T411',
{
icon: 'https://www.t411.ch/themes/blue/images/logo.png',
body: user + " vous a MP :\n" + msg
});
}
var audio = new Audio("http://mobilering.net/ringtones/mp3/sound-effects/facebook_pop.mp3");
audio.volume = 0.3;
audio.play();
}
}
INIT();
notifyMe();