如何使用匡威库发送聊天消息
How to send chat messages using converse library
我正在使用openfire作为XMPP服务器,并使用converse作为客户端库。我想从我的聊天窗口向 openfire 发送聊天消息。为此,我想将文本发送到一个相反的方法,该方法会将消息发送到 XMPP 服务器。我正在尝试使用以下方式发送消息:
var msg = converse.env.$msg({
from: 'a1@localhost',
to: 'a6@localhost',
type: 'chat',
body: "Hi"
});
converse.send(msg);
但这会在 websocket 的控制台网络中发送以下帧:
消息来自='a1@localhost' 到='a6@localhost' 类型='聊天' 正文='Hi' xmlns='jabber:client'/>
这不会将消息传输给其他用户,也不会将其存储在表中。我几乎可以肯定我调用了一个错误的函数。任何人都可以提供任何帮助。
您正在调用正确的函数。
您可能会错过什么:
-
"a6@localhost"客户端中的消息侦听器:正如我在文档中读到的那样,函数很少
-
可能是服务器的正确名称。"本地主机"有问题。您可以检查 Openfire 在他自己的 Web 面板上的真实服务名称
- 要检查消息是否在 Openfire 中传递,您可以检查OF 的日志(检查调试一个,但可能您必须启用它)。实时消息不存储在数据库中,仅存储在群聊的数据库中而不是每次和离线消息。在数据库上找不到它们没有任何意义
https://conversejs.org/docs/html/development.html
converse.chats.open('buddy@example.com');
converse.chats.get('buddy@example.com');
converse.listen.on('message', function (event, messageXML) { ... });
语法错误。 Conversejs 使用 Sthophe 插件来构造和发送消息。它公开了用于构造节的消息生成器$msg strephe 。它必须采用以下格式:
converse.env.$msg({from: 'a1@localhost', to: 'a6@localhost', type: 'chat'}).c('body').t('Hi');
您需要添加一个正文节点,并在其中添加一个消息的文本节点。
您还可以创建和添加自己的 api 方法,并在内部创建一个发送自定义节的方法,并使用 API 公开它。
相关文章:
- Ajax聊天消息重复而不仅仅是更新
- Nodejs私有消息/w”;在聊天中
- 我正在创建一个聊天,但每次我发送消息时,它都不会让我再发送另一条消息,就像表格一样;不起作用
- 使用Mysqli、PHP和AJAX的聊天系统正在将空白消息插入数据库
- 在聊天记录中获取消息时间
- 当您发布聊天消息时,聊天输入不会清除
- 无法找到聊天消息的Steam UMQID
- 发送消息时,Socket.io聊天重新加载页面
- Socket.IO聊天不发送和/或接收消息
- Websockets聊天消息加密与AES,Crypto.js和.NET
- 如何保护聊天消息免受中间人的攻击(PHP、JavaScript)
- 使用浏览器控制台使用Javascript在Facebook中发送聊天消息
- Ajax用户键入聊天消息
- 格式化用户在Javascript中发送的聊天消息
- 试图存档facebook聊天消息历史为一个单一的联系
- 逃避用户生成的聊天消息,但呈现链接
- 如何使用skype BOT api发送聊天消息
- 如何使用nodejs将聊天消息临时存储在文件中
- 模拟我的网站上的聊天消息
- 如何使用匡威库发送聊天消息