2016-02-29 82 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模塊,它工作正常:) –