Como personalizar meu chatbox com códigos personalizados?
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
Como personalizar meu chatbox com códigos personalizados?
Detalhes da questão
Endereço do fórum: http://ams7.forumeiros.com/
Versão do fórum: phpBB2
Descrição
Olá pessoas! Espero que vocês estejam bem, de verdade.
Andando por aí nos tutoriais me deparei com este: Códigos para personalizar o seu chatbox, porém encontrei algumas dificuldades para alterar o código de acordo com minhas necessidades. Será que você poderia me ajudar? Primeiramente, quero dizer que testei o código exatamente como ele está e de certa forma ele funciona, com alguns bugs, atrasos (que não sei se são devido à minha conexão de internet ou ao próprio código), etc.
Bom, gostaria de alterar o som de notificação atual para esse: New_message_notification
Também gostaria que o efeito trabalhasse ainda que eu não esteja na página do fórum, porque de certa forma óbvia, a ideia da notificação é de me alertar que há uma nova mensagem que eu não vi chegar.
Desde já, lhe agradeço pela atenção!
Andando por aí nos tutoriais me deparei com este: Códigos para personalizar o seu chatbox, porém encontrei algumas dificuldades para alterar o código de acordo com minhas necessidades. Será que você poderia me ajudar? Primeiramente, quero dizer que testei o código exatamente como ele está e de certa forma ele funciona, com alguns bugs, atrasos (que não sei se são devido à minha conexão de internet ou ao próprio código), etc.
Bom, gostaria de alterar o som de notificação atual para esse: New_message_notification
Também gostaria que o efeito trabalhasse ainda que eu não esteja na página do fórum, porque de certa forma óbvia, a ideia da notificação é de me alertar que há uma nova mensagem que eu não vi chegar.
Desde já, lhe agradeço pela atenção!
Re: Como personalizar meu chatbox com códigos personalizados?
Olá novamente, Bruno.
Poderia ser mais específico nesse caso? O que está acontecendo de errado?
Para isso, precisaremos que você hospede (de algum modo) o arquivo .mp4 do som que você deseja usar.
o/
Andando por aí nos tutoriais me deparei com este: Códigos para personalizar o seu chatbox [...]
Poderia ser mais específico nesse caso? O que está acontecendo de errado?
Bom, gostaria de alterar o som de notificação atual para esse: New_message_notification
Para isso, precisaremos que você hospede (de algum modo) o arquivo .mp4 do som que você deseja usar.
o/
Re: Como personalizar meu chatbox com códigos personalizados?
Olá Luiz!
Então, como mencionei, o efeito tem atrasado um pouco: eu envio a mensagem por uma máquina, a mensagem é enviada, mas o som de notificação é reproduzido com atraso, um tanto depois. E pelos testes que fiz, percebi que, aparentemente, ele não é reproduzido quando estou em outra aba, ou com outra janela aberta, sendo tocado quando eu volto a acessar a página do fórum.Poderia ser mais específico nesse caso? O que está acontecendo de errado?
Devo hospedá-lo em .mp4 mesmo? Não seria .mp3?Para isso, precisaremos que você hospede (de algum modo) o arquivo .mp4 do som que você deseja usar.
Re: Como personalizar meu chatbox com códigos personalizados?
O atraso é normal. Infelizmente isso é dado por uma série de fatores, os quais infelizmente não podemos fazer nada a fim de contorná-los. :/
Também serve. Ambos formatos são válidos para o nosso caso.Devo hospedá-lo em .mp4 mesmo? Não seria .mp3?
Re: Como personalizar meu chatbox com códigos personalizados?
Hospedei o arquivo de áudio aqui: http://picosong.com/wyvxY/
Entretanto, não sei se este seria o link direto para o mesmo ou se mesmo este link funcionaria.
Entretanto, não sei se este seria o link direto para o mesmo ou se mesmo este link funcionaria.
Re: Como personalizar meu chatbox com códigos personalizados?
Eu preciso do link do arquivo .mp3 ou .mp4 em si, por exemplo:
o/
- Código:
http://ajuda.forumeiros.com/audios/notify-sound.mp3
o/
Re: Como personalizar meu chatbox com códigos personalizados?
Aqui de volta!
Este link é funcional? https://drive.google.com/file/d/1trb_BB1zUydGA0qe8aTLV0Iq69dD527x/view
Só não estou conseguindo fazê-lo reproduzir automaticamente ao abrir o link.
Aqui também → http://www.driveplayer.com/#fileIds=1trb_BB1zUydGA0qe8aTLV0Iq69dD527x&userId=110633504095218054066
Este link é funcional? https://drive.google.com/file/d/1trb_BB1zUydGA0qe8aTLV0Iq69dD527x/view
Só não estou conseguindo fazê-lo reproduzir automaticamente ao abrir o link.
Aqui também → http://www.driveplayer.com/#fileIds=1trb_BB1zUydGA0qe8aTLV0Iq69dD527x&userId=110633504095218054066
Re: Como personalizar meu chatbox com códigos personalizados?
Olá novamente,
Infelizmente não. O link deve ser como este:
o/
Infelizmente não. O link deve ser como este:
- Código:
http://illiweb.com/fa/fdf/secret.mp3
o/
Re: Como personalizar meu chatbox com códigos personalizados?
Será que assim vai? https://www.dropbox.com/s/4nuc4hjb6k4lza2/newmesage.mp3
Entretanto ele não reproduz automaticamente... pelo menos, não consegui fazê-lo.
Poxa vida, que difícil
Entretanto ele não reproduz automaticamente... pelo menos, não consegui fazê-lo.
Poxa vida, que difícil
Re: Como personalizar meu chatbox com códigos personalizados?
Bom, dando continuidade... aqui está:
Aliás, obrigado pela ajuda lá. ^^
- Código:
https://s1.vocaroo.com/media/download_temp/Vocaroo_s1W4QI3NjNuN.mp3
Aliás, obrigado pela ajuda lá. ^^
Re: Como personalizar meu chatbox com códigos personalizados?
Qual código você está usando para criar o som?
Creio que agora só falte modificar o áudio, certo?
Creio que agora só falte modificar o áudio, certo?
Re: Como personalizar meu chatbox com códigos personalizados?
Estou usando este:
Do tutorial supracitado. Entretanto, é feita uma observação sobre esse código que é a seguinte:
Fiquei confuso com o dito "uma série de mudanças" porque a meu ver, só devo mudar o valor da variável:
e a variável:
Seria somente essas mudanças ou estou deixando passar algo mais?
EDIT
Fiz as alterações mencionadas e o resultado bateu. Entretanto, resta uma última dúvida. O efeito é aplicado uma única vez quando há uma nova mensagem, ou seja, após o recebimento de uma nova mensagem, as outras novas que vêm depois não são notificadas. Para alterar isso de maneira que cada nova mensagem seja notificada eu devo alterar a variável
Quais são os possível valores para essa variável?
- Código:
window.localStorage && $(window).load(function() {
var chatbox_script = function() {
var sounds = {
'future': 'http://illiweb.com/fa/fdf/future.mp3',
'hal': 'http://illiweb.com/fa/fdf/hal.mp3',
'secret': 'http://illiweb.com/fa/fdf/secret.mp3',
'zelda': 'http://illiweb.com/fa/fdf/zelda.mp3'
};
var default_sound = sounds['zelda'];
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.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) {
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);
console.log([when, freq, localStorage.cb_blurred, localStorage.cb_once]);
if(when != "never" && (when != "off" || localStorage.cb_blurred) && (when != "on" || !localStorage.cb_blurred) && (when != "once" || (localStorage.cb_blurred && !localStorage.cb_once))) {
console.log([when, freq, 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);
};
};
var s=document.createElement('script');s.text="("+chatbox_script.toString()+")();";jQuery('object[data^="/chatbox/index.forum"],iframe[src^="/chatbox/index.forum"]').each(function(){try{jQuery(this.contentDocument||this.contentWindow.document).find("#chatbox").closest("html").find("head").first().each(function(){this.appendChild(s.cloneNode(true))})}catch(a){}})
});
Do tutorial supracitado. Entretanto, é feita uma observação sobre esse código que é a seguinte:
Assim que aplicar, saiba que há uma série de mudanças que deve ser feito. default_sound corresponde a pasta com o áudio ou URL da mesma.
Fiquei confuso com o dito "uma série de mudanças" porque a meu ver, só devo mudar o valor da variável:
- Código:
var sounds = {
'NOME DO ARQUIVO': 'ENDEREÇO DO ARQUIVO'
};
e a variável:
- Código:
var default_sound = sounds['NOME DADO AO ARQUIVO'];
Seria somente essas mudanças ou estou deixando passar algo mais?
EDIT
Fiz as alterações mencionadas e o resultado bateu. Entretanto, resta uma última dúvida. O efeito é aplicado uma única vez quando há uma nova mensagem, ou seja, após o recebimento de uma nova mensagem, as outras novas que vêm depois não são notificadas. Para alterar isso de maneira que cada nova mensagem seja notificada eu devo alterar a variável
- Código:
var default_when = 'once';
Quais são os possível valores para essa variável?
Re: Como personalizar meu chatbox com códigos personalizados?
Excelente! Deu certo a questão de todas as mensagens serem notificadas, mas agora um efeito "colateral" foi desenvolvido: o som de notificação também é reproduzido quando estou na página do fórum e não somente quando estou em outra aba ou janela (o que acontecia antes e gostaria que permanecesse).
Devo dar este tópico por resolvido e abrir outro para solicitar apoio neste detalhe?
Devo dar este tópico por resolvido e abrir outro para solicitar apoio neste detalhe?
Re: Como personalizar meu chatbox com códigos personalizados?
Creio que seja uma opção padrão do script. :/
Não creio que possamos fazer muita coisa a respeito.
E não, não é necessário abrir outro tópico neste caso, tendo em vista que ainda estamos tratando do mesmo script.
o/
Não creio que possamos fazer muita coisa a respeito.
E não, não é necessário abrir outro tópico neste caso, tendo em vista que ainda estamos tratando do mesmo script.
o/
Re: Como personalizar meu chatbox com códigos personalizados?
É que enquanto o valor da variável é "once" em
Ao mudar o valor para "always" ele reproduz mesmo na janela do chat.
Não há nada que possa ser feito mesmo? Não seria alguma outra variável que necessitaria ser alterada?
- Código:
var default_when = 'once';
Ao mudar o valor para "always" ele reproduz mesmo na janela do chat.
Não há nada que possa ser feito mesmo? Não seria alguma outra variável que necessitaria ser alterada?
Re: Como personalizar meu chatbox com códigos personalizados?
Creio que não, mas você pode testar com cada um dos valores e ver se resolve:
o/
- Código:
all
- Código:
new
- Código:
always
- Código:
off
- Código:
on
- Código:
once
- Código:
never
- Código:
stop
- Código:
pause
- Código:
volume
o/
Re: Como personalizar meu chatbox com códigos personalizados?
Olá! Testei alguns valores e realmente, não muda muita coisa...
Enfim, creio que uma solução será a futura adição de um botão "mute" para dar opção ao usuário de silenciar o chat (bom, espero que isso seja possível). Por enquanto, creio que o tópico pode ser fechado.Quero deixar aqui meus sinceros agradecimentos a @Luiz.
Enfim, creio que uma solução será a futura adição de um botão "mute" para dar opção ao usuário de silenciar o chat (bom, espero que isso seja possível). Por enquanto, creio que o tópico pode ser fechado.Quero deixar aqui meus sinceros agradecimentos a @Luiz.
Re: Como personalizar meu chatbox com códigos personalizados?
Às ordens.
Questão marcada como Resolvida ou o Autor solicitou que ela fosse arquivada. Tópico marcado como Resolvido e movido para Questões resolvidas. |
Tópicos semelhantes
» [TUTORIAL] Códigos para personalizar o seu chatbox
» Como personalizar a caixa de códigos do fórum?
» Como personalizar o chatbox ?
» Personalizar codigos da caixa de codigos
» Recomendação de códigos css para personalizar fórum
» Como personalizar a caixa de códigos do fórum?
» Como personalizar o chatbox ?
» Personalizar codigos da caixa de codigos
» Recomendação de códigos css para personalizar fórum
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