问题标签 [ejabberd-module]
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.
erlang - Ejabberd erlang和异步任务
在 ejabberd 模块中,我使用此方法:
httpc:request(post, {Url, Header
它似乎不是异步的,erlang有没有办法在一个单独的线程上启动它???
node.js - 使用 NodeJS 进行 Ejabberd 外部自动化
我正在使用 ejabberd 开发 ejabberd 外部授权,但它似乎不起作用
我使用了 ejabberd-aut h npm 模块并将 ejabberd.yml 设置如下
但它没有按预期工作。我在我的 ejavverd 日志文件中没有看到任何响应。
我还尝试使用ejabberd_http_auth模块为 ejabberd 使用 http 授权,并使用 express 为其构建一个 rest 接口,但在日志中看不到任何转发到 ejabberd 的请求,并且身份验证不起作用。我使用以下配置进行 http 身份验证:
谁能指导我在这里做错了什么?
xmpp - 如何查询 xmpp 存档以获取每个用户的最新 20 条消息
如果我有 20 个用户,每个用户有 100 条归档消息。如何在一次查询中获取所有 20 个用户的最新 20 条归档消息?
这个查询不能那样工作......
xmpp - ejabberd 消息级别的已读回执
我正在使用 ejabberd 和 Smack 从 Java 应用程序推送消息,然后使用 bosh/strophe 在网站上使用这些消息。这很好用,现在我必须更改将消息标记为已读的方式。目前,任何消息(使用 xep-0313、xep-0136 的新消息或旧消息)一经发送就会被“读取”。我想在网站上的用户执行操作后将其更改为只读,例如选中复选框。因此,如果用户再次登录门户,只要他没有选中该特定消息的复选框,他就会看到该消息为未读。
我查看了以下模块,但似乎没有一个符合要求 -
XEP-0333 - 聊天标记 - 不在单个消息级别。
XEP-0184 - 消息传递收据 - 规范似乎没有根据任何终端客户端操作区分传递和显示
欢迎任何意见/建议!谢谢!
ejabberd - 握手如何在 ejabberd 服务器中进行
我刚刚开始使用 ejabberd 作为消息服务器。现在我已经读到 TCP 连接遵循握手方法来建立连接,我想知道每当任何客户端说 Pidgin 客户端发送连接请求时,ejabberd 是如何遵循握手方法的。
这可能是一个非常基本的问题,但是在努力寻找它之后,我并没有取得太大的成功。
谁能给我解释一下。
erlang - Ejabberd - 使用挂钩时未找到 undef 模块
我正在学习使用Hooks来构建 Ejabberd 模块。这是我指的教程。以下是我的代码:-
我正在接收并记录收到的数据包(使用user_receive_packet
Hook),但它会引发错误。以下是错误:-
我到底错在哪里?
更新
查看在其中一个ejabberd 模块中编写的钩子,它清楚地表明钩子函数将只有 1 个参数。因此,我更新了我的代码如下: -
但是当我收到一个数据包时,它会抛出一个错误:-
请提供您的宝贵意见。
erlang - Ejabberd - 在 offline_message_hook 中将消息路由给用户
我想构建一个客户支持聊天应用程序。有users
和一个admin
。在 admin 下面有multiple sub-admins
. 最初聊天仅由管理员发起,但如果管理员离线,我需要将消息路由给子管理员。
offline_message_hook
钩子达到目的。我会检查是否To
是管理员,然后我需要将其路由Packet
到其中一个子管理员。如何将数据包路由/发送给offline_message_hook
. 简而言之,如何更改To
数据包以便将数据包重定向到新的子管理员?
这是我尝试过的: -
我正在使用ejabberd 17.04.105
.
更新
在遵循user2610053
的建议后,我这样做了:-
以下是错误:-
用户praful@localhost
存在。请指教到底出了什么问题?
Update2 - `UserReceivePacket 挂钩
在user_receive_packet
数据包挂钩中,使用相同的函数ejabberd_router:route(xmpp:set_to(Packet, jid:decode("praful@localhost"))),
时会抛出一个错误:-
所以,我读到了function_clause
,但无法理解。这里到底出了什么问题?
erlang - 未定义的解析转换“lager_transformation”ejabberd 17.01
我正在尝试在 Windows 8.1 中使用以下链接配置 ejabberd 模块 https://github.com/Mingism/ejabberd-stanza-ack ejabberd 版本 17.01 erlang 版本 8.3 这是我正在使用的命令
erlc -I ${C:\Program%Files\ejabberd-17.01\lib\ejabberd-17.01\include} mod_stanza_ack.erl
我把 mod_stanza_ack.erl 也放在了 include 文件夹中,但它给出了 lagger_transformation 错误。是不是版本不同的问题?此链接还表示它适用于 ejabberd 版本 13.x。我认为它也可以在最新版本中运行。我在这里缺少什么?
android - SmackAndroid(context) 未找到用户搜索模块 ejabberd
我正在使用 Windows 上的 ejabberd-17.01 服务器开发基于 android 的聊天应用程序。为安卓使用 Smack 4.1。我想使用以下代码搜索用户
我的问题是 userSearchManager.getSearchServices() 返回零值。我读到我应该通过在连接之前调用 SmackAndroid.init(context) 来为 android 初始化 smack,但是每当我写这个时它只说创建类 SmackAndroid(context) 并且不显示任何导入。
我还测试了 smack 文档中提到的所有依赖项,但找不到这种方法。我错过了什么,或者有什么其他方法可以在 ejabberd 中搜索注册用户。另外我想知道我是否需要将任何模块添加到 ejabberd 以进行搜索,例如在 openfire 服务器中手动添加搜索模块?