问题标签 [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.

0 投票
1 回答
542 浏览

ejabberd-module - ejabberd api/register(check_account) error 账号无权执行操作

当我在浏览器地址http://127.0.0.1:5280/api/check_account中打开时 出现错误

配置:

0 投票
2 回答
133 浏览

erlang - Ejabberd erlang和异步任务

在 ejabberd 模块中,我使用此方法:

httpc:request(post, {Url, Header

它似乎不是异步的,erlang有没有办法在一个单独的线程上启动它???

0 投票
0 回答
195 浏览

node.js - 使用 NodeJS 进行 Ejabberd 外部自动化

我正在使用 ejabberd 开发 ejabberd 外部授权,但它似乎不起作用

我使用了 ejabberd-aut h npm 模块并将 ejabberd.yml 设置如下

但它没有按预期工作。我在我的 ejavverd 日志文件中没有看到任何响应。

我还尝试使用ejabberd_http_auth模块为 ejabberd 使用 http 授权,并使用 express 为其构建一个 rest 接口,但在日志中看不到任何转发到 ejabberd 的请求,并且身份验证不起作用。我使用以下配置进行 http 身份验证:

谁能指导我在这里做错了什么?

0 投票
1 回答
171 浏览

xmpp - 如何查询 xmpp 存档以获取每个用户的最新 20 条消息

如果我有 20 个用户,每个用户有 100 条归档消息。如何在一次查询中获取所有 20 个用户的最新 20 条归档消息?

这个查询不能那样工作......

0 投票
0 回答
749 浏览

xmpp - ejabberd 消息级别的已读回执

我正在使用 ejabberd 和 Smack 从 Java 应用程序推送消息,然后使用 bosh/strophe 在网站上使用这些消息。这很好用,现在我必须更改将消息标记为已读的方式。目前,任何消息(使用 xep-0313、xep-0136 的新消息或旧消息)一经发送就会被“读取”。我想在网站上的用户执行操作后将其更改为只读,例如选中复选框。因此,如果用户再次登录门户,只要他没有选中该特定消息的复选框,他就会看到该消息为未读。

我查看了以下模块,但似乎没有一个符合要求 -

XEP-0333 - 聊天标记 - 不在单个消息级别。

XEP-0184 - 消息传递收据 - 规范似乎没有根据任何终端客户端操作区分传递和显示

欢迎任何意见/建议!谢谢!

0 投票
1 回答
54 浏览

ejabberd - 握手如何在 ejabberd 服务器中进行

我刚刚开始使用 ejabberd 作为消息服务器。现在我已经读到 TCP 连接遵循握手方法来建立连接,我想知道每当任何客户端说 Pidgin 客户端发送连接请求时,ejabberd 是如何遵循握手方法的。

这可能是一个非常基本的问题,但是在努力寻找它之后,我并没有取得太大的成功。

谁能给我解释一下。

0 投票
1 回答
120 浏览

erlang - Ejabberd - 使用挂钩时未找到 undef 模块

我正在学习使用Hooks来构建 Ejabberd 模块。是我指的教程。以下是我的代码:-

我正在接收并记录收到的数据包(使用user_receive_packetHook),但它会引发错误。以下是错误:-

我到底错在哪里?

更新

查看在其中一个ejabberd 模块中编写的钩子,它清楚地表明钩子函数将只有 1 个参数。因此,我更新了我的代码如下: -

但是当我收到一个数据包时,它会抛出一个错误:-

请提供您的宝贵意见。

0 投票
1 回答
490 浏览

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,但无法理解。这里到底出了什么问题?

0 投票
1 回答
294 浏览

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。我认为它也可以在最新版本中运行。我在这里缺少什么?

0 投票
0 回答
52 浏览

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 服务器中手动添加搜索模块?