2016-07-19 6 views

Antwort

4

Sie können Nachrichtentypen in Ihrem allgemeinen Nachrichtenhandler überprüfen:

connection.addHandler(onMessage, null, 'message', null, null, null); 

...

function onMessage(msg) { 
    var to = msg.getAttribute('to'); 
    var from = msg.getAttribute('from'); 
    var type = msg.getAttribute('type'); 
    var elems = msg.getElementsByTagName('body'); 

    if (type == "chat" && elems.length > 0) { 
    var body = elems[0]; 
    console.log('CHAT: I got a message from ' + from + ': ' + Strophe.getText(body)); 
    } else if (type == "groupchat" && elems.length > 0) { 
    var body = elems[0]; 
    var room = Strophe.unescapeNode(Strophe.getNodeFromJid(from)); 
    var nick = Strophe.getResourceFromJid(from); 
    console.log('GROUP CHAT: I got a message from ' + nick + ': ' + Strophe.getText(body) + ' in room: ' + room); 
    } 
    // we must return true to keep the handler alive. 
    // returning false would remove it after it finishes. 
    return true; 
} 
+0

Danke für die Antwort .. Jetzt eingehende Nachrichten nach der Arbeit dieser Zeilen hinzufügen. connection.addHandler (Gab.on_message, null, "Nachricht", "groupchat"); – user1752065

+0

Jetzt ist die nächste Sache, die ich möchte, ist Nachrichtenhistorie für einen Benutzer (Wenn Benutzer auf verbundene Gruppe klicken). Derzeit habe ich den folgenden Code für die Handhabung von Archiv. connection.mam.query ( Strophe.getBareJidFromJid (Gab.connection.jid), { mit: jid + "@ muc.server" max: 50, vor: '', \t \t onMessage: Funktion (message) { – user1752065

Verwandte Themen