在 xmpp 群聊中发送聊天标记
Posted
技术标签:
【中文标题】在 xmpp 群聊中发送聊天标记【英文标题】:send chat marker in xmpp group chat 【发布时间】:2019-05-15 01:31:27 【问题描述】:我正在使用 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());
【问题讨论】:
【参考方案1】:当您收到群聊消息时,您会收到此节:
<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>
如您所见,此消息的类型是“群聊”。所以你要做的就是寻找这个类型,当你收到它时显示标记。
如果您需要更多详细信息,这里是我找到它的 XEP。 https://xmpp.org/extensions/xep-0045.html#message 该节在第 7.4 节下。
【讨论】:
以上是关于在 xmpp 群聊中发送聊天标记的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Skype4COM 在 Skype 群聊中发送消息?