我正在使用xmpp和angular 7创建聊天应用程序
我希望当用户向其他用户发送消息时显示聊天标记
如果我在一对一聊天中发送消息,它会起作用
但如果是群聊,则不起作用
我应该更改我的代码吗?
sendChatMarker(to: string, messageId: string, messagetype: string, marker: string, connection) {
//create message stanza for the chat marker
let chatMarker = $msg({
to: to,
from: connection.jid,
id: generateUUIDv4(),
})
.c(marker, {
xmlns: this.xmppNamespacesService.chatMarkerNS,
id: messageId
})
.up()
.c("store", {
xmlns: this.xmppNamespacesService.messageProcessingHintsNS
}); //to archive chat markers
//send the chat marker
connection.send(chatMarker.tree());
console.log(marker + " chat Marker is sent.", chatMarker.tree());
}
}
答案 0 :(得分:0)
当您收到群聊消息时,您会收到以下节:
<message
from='coven@chat.shakespeare.lit/thirdwitch'
id='hysf1v37'
to='crone1@shakespeare.lit/desktop'
type='groupchat'>
<body>Harpier cries: 'tis time, 'tis time.</body>
</message>
您可以看到此消息的类型为“ groupchat”。因此,您要做的就是寻找这种类型,并在收到它时显示标记。
如果您需要更多详细信息,请在此处找到XEP。 https://xmpp.org/extensions/xep-0045.html#message 该节位于第7.4节之下。