Notificação sonora ao receber uma mensagem no Chat box
2 participantes
Fórum dos Fóruns :: Ajuda e atendimento ao utilizador :: Questões sobre códigos :: Questões resolvidas sobre códigos Javascript e jQuery
Página 1 de 1 • Compartilhe
Notificação sonora ao receber uma mensagem no Chat box
Detalhes da questão
Endereço do fórum: https://seudiario.forumeiros.com/
Versão do fórum: phpBB3
Descrição
Ola a todos meu forum é novo e tem poucos usuarios no momento mas nao sera sempre assim portanto quero poder melhorar o mesmo o quanto antes pra que isso seja possivel necessito da ajuda de voces poderiam por gentileza me fornecer um codigo atualizado para que eu esteja inserindo no forum e com isso eu e os participantes logados ao chatbox possamos escutar um som de notificacao quando ouver novas mensagens mesmo que nao estejamos olhando pro chat? Ex: um exemplo simples quando recebemos uma notificacao do whatsapp além do som tambem temos a notificacao no celular, Obs: tentei usar os codigos que encontrei aqui no forum topicos de 2017 e esses codigos nao funcionou
Re: Notificação sonora ao receber uma mensagem no Chat box
Olá @legit-nyck,
Use o seguinte código JavaScript com investimento no chatbox:
pedxz.
Use o seguinte código JavaScript com investimento no chatbox:
- Código:
window.localStorage && $(window).load(function() {
var sounds = {
'future': 'https://illiweb.com/fa/fdf/future.mp3',
'hal': 'https://illiweb.com/fa/fdf/hal.mp3',
'secret': 'https://illiweb.com/fa/fdf/secret.mp3',
};
var default_sound = sounds['future'];
var default_freq = 'new';
var default_when = 'once';
var default_volume = 100;
if(localStorage.cb_sound && !localStorage.cb_sound.indexOf('https://dl.dropboxusercontent.com/u/181621985/')) localStorage.removeItem('cb_sound');
var a = document.createElement('audio');
if(!a.canPlayType) return;
a.volume = Math.min(1, Math.max(0, localStorage.cb_volume||(default_volume/100)));
var origin_send = Chatbox.prototype.send;
Chatbox.prototype.send = function(params) {
var m = $.trim($("#message").val());
if(m.indexOf('/sound')&&m.indexOf('/soudn'))
return origin_send.call(this, params);
m = $.trim(m.substr(6)).split(/\s+/,3);
var bad_apple = false;
switch(m[0].toLowerCase()) {
case "":
if(!a.src) {
a.src = localStorage.cb_sound||default_sound;
a.load();
}
a.play();
break;
case "all":
case "new":
localStorage.cb_freq = m[0]; break;
case "always":
case "off":
case "on":
case "once":
case "never":
localStorage.cb_when = m[0]; break;
case "stop":
if(!a.paused) a.pause();
if(!a.ended && a.readyState > 0) a.currentTime = 0;
break;
case "pause":
if(!a.paused) a.pause();
break;
case "volume":
if(m.length>1) {
localStorage.cb_volume = Math.min(1, Math.max(0, parseFloat(m[1].replace(',','.'))/100));
a.volume = localStorage.cb_volume;
break
}
default:
bad_apple = true;
};
if(bad_apple) {
if(m[0] in sounds) {
m[0]= sounds[m[0]];
}
if(m[0]=="default") {
m[0]=default_sound;
localStorage.removeItem('cb_sound');
localStorage.removeItem('cb_freq');
localStorage.removeItem('cb_volume');
localStorage.removeItem('cb_when');
a.volume = Math.min(1, Math.max(0, default_volume/100));
}
if(/^https?:\/\/.+/.test(m[0])) {
localStorage.cb_sound = m[0];
a.pause();
a.src = m[0];
a.load();
a.play();
} else {
var message = $('#message').val();
alert('/sound [all | new]\n/sound [always | off | on | once | never]\n/sound [stop | pause]\n/sound default\n/sound volume 0-100\n/sound ['+$.map(sounds,function(_,k){return k}).join(' | ')+']\n/sound [http://* | https://*]');
setTimeout(function(){ $("#message").val(message).select().focus(); }, 100);
return;
}
}
return $("#message").val('').focus();
};
$(window).on("focus", function(){ localStorage.removeItem('cb_once'); localStorage.removeItem('cb_blurred') }).on("blur", function(){ localStorage.cb_blurred=1; });
var play_sound = function(){
if(a.paused || a.ended) {
if(a.readyState > 0) a.currentTime=0;
if(!a.src) {
a.src = localStorage.cb_sound||default_sound;
a.load()
}
a.play()
}
};
var overrided = Chatbox.prototype.refresh;
Chatbox.prototype.refresh = function(data) {
if (data.messages && data.messages.length) {
var lm = data.messages.slice(-1)[0];
var last_message = lm.time+','+lm.action+','+lm.msg;
if(this.last_message_sound != last_message) {
var user = $.grep(data.users, function(v){return v.id==chatbox.userId});
user = user.length ? user[0] : [{}];
if(this.last_message_sound!==undefined) {
var freq = (localStorage.cb_freq||default_freq);
var when = (localStorage.cb_when||default_when);
if(when != "never" && (when != "off" || localStorage.cb_blurred) && (when != "on" || !localStorage.cb_blurred) && (when != "once" || (localStorage.cb_blurred && !localStorage.cb_once))) {
if(freq =="all" || (lm.userId!=chatbox.userId && user.username!=lm.username)) {
if(when!="once" || !localStorage.cb_once) {
play_sound();
localStorage.cb_once = 1;
}
}
}
}
this.last_message_sound = lm;
}
}
overrided.call(this, data);
};
});
pedxz.
tikky- Admineiro
- Membro desde : 13/01/2017
Mensagens : 7970
Pontos : 9234
Re: Notificação sonora ao receber uma mensagem no Chat box
Bom dia pdxz poderia me dizer se devo deixar essa caixinha marcada ou desmarcada?
https://uploaddeimagens.com.br/imagens/knZKdmg
https://uploaddeimagens.com.br/imagens/knZKdmg
Re: Notificação sonora ao receber uma mensagem no Chat box
Para ativar as páginas JavaScript essa opção deve estar marcada como "Sim"!legit-nyck escreveu:Bom dia pdxz poderia me dizer se devo deixar essa caixinha marcada ou desmarcada?
https://uploaddeimagens.com.br/imagens/knZKdmg
tikky- Admineiro
- Membro desde : 13/01/2017
Mensagens : 7970
Pontos : 9234
Re: Notificação sonora ao receber uma mensagem no Chat box
Entendo contudo nenhum som de notificação apareceu até o momento no chatbox onde possivelmente eu esteja errando?
Re: Notificação sonora ao receber uma mensagem no Chat box
A cada nova mensagem haverá um som sonoro para alertar aos membros a chegada de uma nova mensagem no chat box. Repare que não há nenhum som para quem envia, só para quem recebe.legit-nyck escreveu:Entendo contudo nenhum som de notificação apareceu até o momento no chatbox onde possivelmente eu esteja errando?
tikky- Admineiro
- Membro desde : 13/01/2017
Mensagens : 7970
Pontos : 9234
Re: Notificação sonora ao receber uma mensagem no Chat box
Ainda nao temos som algum de notificacao no chatbox por favor olhe a imagem a baixo
https://uploaddeimagens.com.br/imagens/rb39Uy4
Obs: eu coloquei o codigo no seu devido lugar, na caixinha exibir som em todas as paginas eu deixei marcado apenas no ChatBox, a questao do som nao estar saindo poderia ter alguma relação com aversão atual do Forum??
https://uploaddeimagens.com.br/imagens/rb39Uy4
Obs: eu coloquei o codigo no seu devido lugar, na caixinha exibir som em todas as paginas eu deixei marcado apenas no ChatBox, a questao do som nao estar saindo poderia ter alguma relação com aversão atual do Forum??
Última edição por legit-nyck em 12.02.22 11:41, editado 1 vez(es) (Motivo da edição : Novas perguntas)
Re: Notificação sonora ao receber uma mensagem no Chat box
Questão resolvida. A solução é alterar:
- Código:
var default_freq = 'new';
var default_when = 'once';
- Código:
var default_freq = 'all';
var default_when = 'always';
Tópico resolvidoMovido para "Questões resolvidas". |
tikky- Admineiro
- Membro desde : 13/01/2017
Mensagens : 7970
Pontos : 9234
Tópicos semelhantes
» Notificação ao receber mensagem privada
» Gerir função de notificação sonora no Chatbox
» Alerta ao receber MP e Notificação
» Notificação de mensagem no fórum
» Alterar o som de notificação do chat box
» Gerir função de notificação sonora no Chatbox
» Alerta ao receber MP e Notificação
» Notificação de mensagem no fórum
» Alterar o som de notificação do chat box
Fórum dos Fóruns :: Ajuda e atendimento ao utilizador :: Questões sobre códigos :: Questões resolvidas sobre códigos Javascript e jQuery
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos