问题标签 [ejabberd-hooks]
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.
dns - 带有自定义域的 Ejabberd 配置
注意:我是新手。
我打算在 Android 平台上构建聊天应用程序,该应用程序将有自己的后端和消息传递架构。
该系统甚至在端口 443 https 上有一个 REST API,现在问题是我想在另一个端口上配置 ejabberd。
使用我的 ISP IP 地址,一切都按预期工作。
https://ip:2053/admin - 有效 https://example.com:2053/admin - 有效
在 ejabberd.yml 中,我设置了 let's encrypt 的证书 - 这四个文件,并且还复制了 server.pem 中这 4 个文件的内容
当我直接通过 ip 地址与 pidgin(xmpp 客户端)连接时
在我的 ip 上注册为主机的两个用户可以无缝发送消息,包括图像和视频。而且我得到一个提示,安装的证书不包含我简单接受并跳过的 IP 地址。
user1@ipaddress 端口 2083
但是,当我对 example.com 做同样的事情并且用户在 example.com 上注册它时,它根本行不通。
user1@example.com 端口 2083
注意:两台主机都注册了 user1 用户。
请告诉我我做错了什么:(
眼镜
域:example.com Cloudflare:true
此外,我正在将 cloudflare 用于 ssl 等,它不允许我在互联网上阅读的 5222 或 5820 之类的端口。如果有任何配置可以解决这个问题,请告诉。
ejabberd - 哪个钩子可以限制用户每天可以发送的消息数量?
我们希望在具有相当独特和业务规则的 Web 应用程序的上下文中使用 ejabberd,因此我们需要让每条聊天消息(不是协议消息,而是用户发送给另一个人的消息)首先通过我们的 Web 应用程序,然后让 Web 应用程序代表用户将消息传递给 ejabberd(如果我们的业务规则允许发送消息)。
Web 应用程序也是提供联系人列表的应用程序(如果我对 ejabberd 的理解正确,称为名册)。我们需要成为并且仍然是唯一的事实来源,以简化维护。
对我们来说,ejabberd 的附加价值是向客户提供近乎实时的聊天消息,并启用诸如存在指示器等很酷的东西。Web 客户端将通过 websocket 保持与 ejabberd 的直接连接,但就聊天消息而言,此连接必须是只读的,而就存在消息而言,该连接必须是读写的。
音频和视频通话的情况类似。虽然这次每次看到的呼叫将直接由 ejabberd 管理,以利用内置的 STURN、TURN 等......并且不需要通过我们的 Web 应用程序,我们有自定义业务逻辑来管理谁能够呼叫谁,什么时候,多久等等......(换句话说,我们有自定义业务逻辑来授权或不授权调用,我们希望将所有业务逻辑集中在 Web 应用程序中)。
我的问题是,为了实现我们所追求的目标,我们需要研究什么合适的钩子?我在文档中花了一个小时左右,但我找不到我所追求的,所以希望有人能给我指点。在理想情况下,我们希望从我们的 Web 应用程序中公开 API 端点,以便 ejabberd 钩子可以命中。然而,第一个问题是:ejabberd 提供了哪些相关的钩子,这些钩子记录在哪里?
任何帮助将不胜感激,谢谢!
ejabberd - 如何在 ejabberd 中将大量用户添加到 muc 房间?
我们需要在 ejabberd 服务器的单个 muc 房间中添加 10 万用户。我们正在使用subscribe_room api来一一添加用户。在将用户添加到 muc 房间时,ejabberd 消耗的内存正在增加。在某些时候,Ejabberd 服务器消耗了 11GB 的内存。由于内存消耗不断增加,Ejabberd 服务器进程被内核杀死。我们使用的是 ejabberd-21.01 版本。
- 我们需要更改任何配置还是缺少任何东西?
- 有没有办法在对 ejabberd 的单个 api 调用中将多个用户添加到 muc 房间?
python - 实现 pyejabberd 消息系统时的配置相关问题
我正在我的 python 应用程序中实现一个消息系统,为了实现这一点,我正在使用 ejabberd 的客户端库,它是 pyejabberd。我已经检查了这个的官方文档来配置 ejabberd.yml 文件,但得到了一些错误。这是 BadStatusLine("") 错误。IDK 为什么这会获取我的 ejabberd.yml 文件的内容/配置是-
我在这里犯了一些错误还是我的配置错误?你能给我一些解决这个问题的方法吗?
我的python脚本代码:
当我调用该方法client.echo
时,它会遇到异常并引发错误。
xmpp - 如何在 ejabberd 服务器的 xmpp 协议中回调?
我需要从 ejabberd 服务器中的 xmpp 协议回调以下内容
- 当用户离线/在线时
- 当互联网连接丢失时
- 消息何时送达
如何从技术上获取上述内容的回调?或者需要为此做任何配置?
我正在使用 jitsi 作为 ejabberd 服务器的客户端
谁能帮助我,如何实现?
第二件事是
用户离线时也应发送消息
但是,只有在用户失去互联网连接时才应该发送消息
如何实现以上两点?
目前,当用户离线和用户互联网连接丢失时,消息不会传递