Notification sonore Chatbox

2 participants

Voir le sujet précédent Voir le sujet suivant Aller en bas

Résolu Notification sonore Chatbox

Message par Bérangère Lun 29 Aoû 2022 - 11:39

Détails techniques


Version du forum : ModernBB
Poste occupé : Fondateur
Navigateur(s) concerné(s) : Google Chrome
Personnes concernées par le problème : Tous les utilisateurs
Lien du forum : https://chardon.forumactif.com/

Description du problème

Bonjour, j'ai essayé le script fournit par FA ici : https://forum.forumactif.com/t376396-personnalisation-de-la-chatbox#3174994

Mais rien ne fonctionne. J'ai essayé /sound, le JS est bien activé, j'ai essayé de la mettre sur l'index, sur la Chatbox, sur toutes les pages. J'ai également hébergé un nouveau son sur dropbox pour essayer. Si quelqu'un a une idée, je suis preneuse !
Bérangère

Bérangère
Nouveau membre

Messages : 5
Inscrit(e) le : 29/08/2022

https://chardon.forumactif.com/
Bérangère a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Notification sonore Chatbox

Message par Toryudo Lun 29 Aoû 2022 - 19:04

Bonjour !
Je viens de tester le script de base, il fonctionne sur ModernBB, testé sur Chrome et Firefox, pas de problème là-dessus.
Juste une précision : il ne faut pas se contenter de charger la page, il faut avoir interagit avec elle, sinon, le navigateur bloque le son (il suffit de cliquer n'importe où sur la page et ça ira, mais cliquer au moins une fois quelque part)

Ensuite, plusieurs questions :
- combien étiez-vous sur la Chatbox au moment du test ? (le script ne se déclenche pas si vous vous parlez à vous-même)
- est-ce que le son est sorti chez quelqu'un ou personne du tout ?
- est-ce que vos enceintes/écouteurs étaient allumés au moment du test (je sais, la question bête que je suis obligé de poser) ?
- si vous n'avez pas testé les sons par défaut, quel lien avez-vous utilisé précisément, et comment avez-vous modifié le script ? (si vous pouviez le mettre entre les balises code ici, ce serait top)

Commençons déjà par ces précisions, nous y verrons peut-être plus clair !
Toryudo

Toryudo
Aidactif
Aidactif

Masculin
Messages : 1372
Inscrit(e) le : 31/03/2020

https://deus-academia.forumactif.com/
Toryudo a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Notification sonore Chatbox

Message par Bérangère Lun 29 Aoû 2022 - 20:37

Bonjour merci de venir à rescousse !

On était deux lors du test, le son n'est sorti chez personne, que l'on sur la page, ou non, on interagit bien avec la page au moins pour cliquer sur le truc pour écrire, mes enceintes étaient bien à fond. J'ai testé les sons par défauts et un perso. J'ai aussi modifié pour que normalement la notification arrive à chaque message.

Code:
    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',
      'duck': 'https://www.dropbox.com/home?preview=Duck+quacks+and+disappears+%28duck+quack+and+disappear+meme%29.mp3',
      };
    var default_sound = sounds['duck'];
    var default_freq = 'all';
    var default_when = 'always';
    var default_volume = 100;
Bérangère

Bérangère
Nouveau membre

Messages : 5
Inscrit(e) le : 29/08/2022

https://chardon.forumactif.com/
Bérangère a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Notification sonore Chatbox

Message par Toryudo Mar 30 Aoû 2022 - 7:56

Alors pour commencer, ce lien https://www.dropbox.com/home?preview=Duck+quacks+and+disappears+%28duck+quack+and+disappear+meme%29.mp3 ne pourra pas marcher, parce que quand je tente d'y accéder, on me demande de me connecter au site dropbox, et ce sera le cas pour tout le monde j'imagine.

Il faut vraiment que le fichier mp3 soit public, qu'on puisse y accéder comme on accède à https://illiweb.com/fa/fdf/future.mp3 par exemple.
Toryudo

Toryudo
Aidactif
Aidactif

Masculin
Messages : 1372
Inscrit(e) le : 31/03/2020

https://deus-academia.forumactif.com/
Toryudo a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Notification sonore Chatbox

Message par Bérangère Mar 30 Aoû 2022 - 10:14

Oui à la base j'avais mis le lien fournit par dropbox : https://www.dropbox.com/s/pjgdl1kaxzwcgwh/Duck%20quacks%20and%20disappears%20%28duck%20quack%20and%20disappear%20meme%29.mp3?dl=0, qui doit être accessible sans connexion. J'avais cherché autre lien du fichier vu que ça ne marchait pas en me disant peut-être. Ca ne change pas le fait que même les fichiers audio de base fournit par le script ne fonctionne pas non plus.

Je viens d'ouvrir un forum test pour pouvoir préparer des modifications de thème, et j'ai testé le script ça ne fonctionne pas non plus alors que le forum et encore à sa forme de base. La commande /sound ne lance pas le son.
Bérangère

Bérangère
Nouveau membre

Messages : 5
Inscrit(e) le : 29/08/2022

https://chardon.forumactif.com/
Bérangère a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Notification sonore Chatbox

Message par Toryudo Mar 30 Aoû 2022 - 10:44

Alors autant le lien https://www.dropbox.com/s/pjgdl1kaxzwcgwh/Duck%20quacks%20and%20disappears%20(duck%20quack%20and%20disappear%20meme).mp3 est bien accessible pour tout le monde, autant techniquement, il ne peut quand même pas fonctionner. Il ne pointe pas vers un fichier mp3 mais vers une page qui contient un lecteur qui permet de lire et de télécharger ce fichier mp3 en question, je ne sais pas si vous voyez la différence.
C'est un peu comme si on disait qu'un lien vers une vidéo Youtube pointe vers une vidéo... techniquement non, ça pointe vers le lecteur Youtube qui contient la vidéo. Là, c'est la même chose.

Or, le script doit vraiment pointer vers le fichier mp3, et je suppose que ce ne sera pas possible avec dropbox du coup... il faudra passer par un autre hébergeur.
Toryudo

Toryudo
Aidactif
Aidactif

Masculin
Messages : 1372
Inscrit(e) le : 31/03/2020

https://deus-academia.forumactif.com/
Toryudo a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Notification sonore Chatbox

Message par Bérangère Mar 30 Aoû 2022 - 10:55

Oui je comprends, je me doutait que y'avais un truc comme ça mais je ne connais pas d'hébergeur, la plupart des autres que j'ai trouvé c'est le même système, pas moyen d'avoir un lien direct de l'audio mais un lien de téléchargement.

Je ne vois pas cependant comment avoir ce lien changera mon problème, puisque les trois autres liens des sons "future" "hal" et "secret" sont, eux, fonctionnels, mais ne marche quand même pas sur mon forum quand je les teste.

EDIT : Le lien audio a été changé par un lien direct fonctionnel, le problème persiste, testé à deux, sous chrome, et firefox.
Bérangère

Bérangère
Nouveau membre

Messages : 5
Inscrit(e) le : 29/08/2022

https://chardon.forumactif.com/
Bérangère a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Notification sonore Chatbox

Message par Toryudo Mar 30 Aoû 2022 - 11:38

Voilà votre script corrigé, à mettre "Sur la ChatBox" :
Code:
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',
      'duck': 'https://sd-g1.archive-host.com/membres/up/69b371ab3e526b84925b4815e73e708f39f9e505/Duck_quacks_and_disappears_duck_quack_and_disappear_meme.mp3',
      };
    var default_sound = sounds['duck'];
    var default_freq = 'all';
    var default_when = 'always';
    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);
    };
});
Toryudo

Toryudo
Aidactif
Aidactif

Masculin
Messages : 1372
Inscrit(e) le : 31/03/2020

https://deus-academia.forumactif.com/
Toryudo a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Notification sonore Chatbox

Message par Bérangère Mar 30 Aoû 2022 - 12:35

MERCI INFINIMENT ! Ca marche nickel, maintenant il me reste plus qu'à trouver un vrai son de notif mdr.

Bérangère

Bérangère
Nouveau membre

Messages : 5
Inscrit(e) le : 29/08/2022

https://chardon.forumactif.com/
Bérangère a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum