问题标签 [prosody-im]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
187 浏览

xmpp - Prosody 或 ejabberd 中自定义 XEP-0114 组件的本地主机服务发现

我编写了一个愚蠢的 hello-world XEP-0114 组件并将其连接到 Prosody 和 ejabberd。现在我想使用服务发现来宣布服务的存在并提供有关其使用的说明。

因此,我寻求一种方法,让任何拥有远程或本地 JID 的人都能发现它,以提供有关它的更多详细信息。

对于韵律我做:

对于 ejabberd,我这样做:

然后在 Gajim 我在 localhost 上启动服务发现并得到错误:

您输入的地址没有服务,或者没有响应。检查地址,然后重试。

我想念什么?

0 投票
0 回答
1206 浏览

http - 使用 XMPP 的 http 客户端可以直接与 jitsi videobrigdge 服务器交互吗?

我想实现一个跨平台的聊天应用程序。我想使用 XMPP,我知道 XMPP 的 BOSH 扩展用于即时消息传递。

但是,我还需要视频会议和音频会议的能力。jitsi实际上就是这样做的。它使用韵律进行即时通讯,实际上使用的是 BOSH。jitsi 使用 jitsi-videobridge(可以在我之前附加的相同链接中找到)用于音频和视频会议功能。

我的问题来了。使用 XMPP 协议的 http 客户端是否可以直接与 jitsi videobridge 服务器对话,而不需要任何其他要求。我很困惑,因为在jitsi的官方网站上写着它与WEBRTC兼容。我真的无法理解 WEBRTC 的概念。WEBRTC 兼容是否意味着 http 客户端可以在没有任何其他需求的情况下与服务器通信,或者 XMPP 协议是两者的相同基础?

任何帮助或更正appriciated。

0 投票
1 回答
69 浏览

xmpp - 哪些 XEP 或 eJabberd 模块最适合有条件地立即更改用户订阅的用户组?

想象一下,连接到 XMPP 服务器的数据库存储用户,它还dataId为每个用户存储一个额外的数据列(我们称之为)。数据列可以采用三个值:1、2 或 3。

在登录到服务器的 XMPP 客户端中,会显示用户列表及其 XMPP 在线状态。该列表显示所有具有相同 值的用户dataId。客户端可以更改dataId显示的值,这意味着如果他切换值,那么用户现在以某种方式订阅了新用户列表的存在,而不是旧用户列表。

我想知道有 XMPP 经验的人是否对哪些 XEP 或相应的 eJabberd(或 Prosody)模块可以使用或最适合此类功能提出建议。

我正在慢慢浏览 XEP,但其中有很多,目前还不清楚可以使用哪些模块,或者我是否可能需要在我的 XMPP 服务器上设置一些自定义代码来处理这个问题。

0 投票
1 回答
1446 浏览

passwords - 允许 XMPP 用户根据韵律更改密码

我有一个正在运行的韵律,可以处理我的几个域和一个朋友域的 XMPP。我朋友域中的一位用户(他的妻子)想更改她的密码(实际上她已经忘记了她,所以我会用 prosodyctl 设置一个,然后她应该更改为我不知道的密码)。但是,当我尝试通过 pidgin 更改在该域上创建的测试用户的密码时,我收到一条错误消息,提示“更改密码时出错”、“服务不可用”。我需要更改哪些内容才能允许用户更改密码?

0 投票
0 回答
524 浏览

php - 通过 JAXL 连接到 Prosody:“此服务器不提供用户名”

我有自己的韵律服务器设置,可以通过 Windows XMPP 客户端连接到它。服务器上有两个帐户,我可以同时连接它们并在它们之间交换消息(我使用的是 Mozilla Thunderbird 中的内置客户端)。

我在服务器(“domain.com”)上配置了一个虚拟主机。

我现在正尝试通过 PHP 作为其中一个帐户连接到服务器并向另一个帐户发送消息。我选择了 JAXL 来做到这一点。

注意“jid”的格式。这会导致错误“此服务器不提供用户名”。

如果我将 jid 更改为 username@domain.com,我会得到“无效的用户名”。

如果我添加

在 start() 之前,我得到一个“此服务器不提供服务...”。两种格式的 JID。

有什么问题?这是在 PHP 7.1 和最新版本的 JAXL 和韵律上运行的。

0 投票
1 回答
431 浏览

android - 如何使用 Android+Smack+XMPP 在聊天气泡中添加“喜欢”反应

在我的一个聊天应用程序中,我想实现将“喜欢”反应分配给聊天气泡的功能,该反应需要通知其他用户,如下所示

像反应图像

是否可以在没有任何 XMPP 服务器端编码的情况下实现这一目标?如何使用 smack 和推送消息传递自定义标签?

0 投票
2 回答
890 浏览

http - Is it possible for a Prosody server to make an HTTP request to an external API

The Prosody server has several modules that allow it to respond to HTTP requests.

For example, mod_http_rest allows me to make a POST request on port 5280 with an XMPP stanza as the payload, and the Prosody server responds by sending that stanza on its way.

However, I am looking for a module that would do the opposite: i.e. take an XMPP message received by the usual means, and make an HTTP POST request to a specified server with that message as the payload.

I can't seem to find any module that will do this. Is there such a thing?

If not, is there any functionality available in the Prosody API that would allow such a module to be written?

Alternatively, are there good reasons why this might be a bad idea?

0 投票
1 回答
602 浏览

lua - 如何选择首选的文件传输方式?

我认为,我的韵律配置有问题。当我使用 Converstions 2.* 版本(android IM 应用程序)发送更多约 2 或 3 兆字节的文件(例如照片)时,它使用对等连接传输这些文件,而不是将此文件上传到服务器并将链接发送给我的对话者。小文件使用 http 上传可以很好地传输。我找不到这种行为的原因。以下是我的配置中 http_upload 模块的一些行,我从官方文档中获取(我没有找到关闭对等文件传输的设置):

这是我的完整配置:https ://pastebin.com/V6DNYrhe

0 投票
2 回答
142 浏览

xmpp - Smack 4.2 不包括 jabber:client 在传出节中

我正在使用 Smack 4.2 来实现一个相当基本的 XMPP 聊天客户端。我正在使用 Prosody XMPP 服务器。Prosody 对于在所有传入的节中要求“xmlns=jabber:client”是相当严格的。Smack 4.2 在其传出的节中不包含此属性。我尝试过扩展 Bind 和 Session 节,我可以使连接以这种方式工作。但是,现在我正在加入房间,我真的不想修改 Smack 的 MUC 代码,以便它可以接受修改后的 Presence 消息。

请帮忙!!

0 投票
2 回答
958 浏览

converse.js - Converse.js - Prosody bosh 不提供支持的身份验证机制

Converse.js 成功向 Prosody bosh 发出请求,但聊天客户端从未真正连接。在控制台中,我可以看到它到达了 bosh 端点,并在每次请求后输出到控制台:

"服务器尚未提供支持的身份验证机制。发送空白轮询请求。 "

我也可以从浏览器访问 bosh 端点,代理通道似乎按预期工作,并且 bosh 正在运行并响应请求。

非常感谢任何见解。