2016-02-29 74 views
0

算在我的应用程序,我想告诉网站上为每个JABBERID离线消息,以及移动应用程序的总数。因此,我想为此创建一个API,通过它我可以从Ejabberd服务器获得离线消息。 这种类型的功能在ejabberd管理面板上工作,我想在我的网站上也是如此。如何获得离线消息的JABBERID

Ejabberd Admin Panel

是否有任何命令,脚本或模块的,我可以得到离线消息数,请告诉我。

感谢

回答

0

可以使用mod_offline模块一样,mod_offline:get_queue_length(UserId,Server) 用于获取特定用户(如果启用mod_offline模块)的离线消息的总数。

2

如果启用mod_admin_extra模块,你有一个命令:ejabberdctl get_offline_count user domain

$ ejabberdctl help get_offline_count 

    Command Name: get_offline_count 

    Arguments: user::binary 
      server::binary 

    Returns: res::integer 

    Tags: offline 

    Description: Get the number of unread offline messages 

例如:

$ ejabberdctl get_offline_count test localhost 
0 

所有命令也可以使用REST或XML-RPC API是杠杆。

+0

嗨米克尔,我已经从此链接安装mod_admin_extra到我的ejabberd:https://svn.process-one.net/ejabberd-modules/mod_admin_extra/trunk/src/mod_admin_extra.erl。这个模块运行良好(我已经检查过这个模块的一些命令,比如'num_active_users'等),但是'get_offline_count'命令不存在于这个模块中。错误是:根@ d-5 /#ejabberdctl帮助get_offline_count 错误:没有命令发现的比赛:“get_offline_count” 请帮助我哪里错了,感谢您的答复。 –

+0

这是错误的。现在mod_admin_extra是ejabberd中的一个标准模块。您无需安装,只需在配置中启用即可。 –

+0

感谢Mickael的帮助。其实我有ejabberd 2.1.13,我已经加入了这个命令到我的mod_admin_extra模块,它工作正常:) –