2010-06-05 47 views
0

我現在正在使用ejabberd作爲聊天服務器。 我正在寫一個客戶聊天並註冊新用戶。 現在,我認識的一些協議註冊一個新帳號, 如發送下面的命令來註冊新用戶:如何瞭解更多XMPP/Jabber命令

<iq type="set"><query xmlns="jabber:iq:register"><username>wfwfewegwegwewefg</username><password>wfwefwefwefwef</password></query></iq> 

我的問題是: 我想學習更多的命令/協議交談服務器。 那麼我可以在哪裏學到更多? 例如,如何向服務器詢問用戶名是否存在。 如何讓服務器取消註冊用戶。

我應該搜索什麼關鍵詞? 我應該尋找Jabber XMPP協議還是什麼?

回答

1

如果您從管理員帳戶發送查詢來執行這些操作,請參閱XEP-0133: Service Administration,該文檔基於XEP-0050: Ad-hoc commands

如果你指的是從普通用戶的角度更多,以及您通常無法看到,如果一個用戶帳戶存在(這將敞開大門,歡迎垃圾郵件發送者使用它的目錄收穫),但你可以註銷的如果你擁有它,請參閱XEP-0077: In-band Registration瞭解更多信息。

http://xmpp.org/extensions/還有很多標準擴展適用於各種各樣的東西 - 有些正在開發中,有些正在定型和穩定。

1

如果您使用ejabberd,有命令行實用程序ejabberdctl將解決您的問題。

[email protected]:~$ sudo /opt/ejabberd-2.1.8/bin/ejabberdctl 
Usage: ejabberdctl [--node nodename] [--auth user host password] command [options] 

Available commands in this ejabberd node: 
    backup file               Store the database to backup file 
    connected_users              List all established sessions 
    connected_users_number            Get the number of established sessions 
    delete_expired_messages            Delete expired offline messages from database 
    delete_old_messages days           Delete offline messages older than DAYS 
    dump file               Dump the database to text file 
    dump_table file table            Dump a table to text file 
    export_piefxis dir             Export data of all users in the server to PIEFXIS 
                     files (XEP-0227) 
    export_piefxis_host dir host          Export data of users in a host to PIEFXIS files 
                     (XEP-0227) 
    get_loglevel              Get the current loglevel 
    help [--tags [tag] | com?*]           Show help (try: ejabberdctl help help) 
    import_dir file              Import users data from jabberd14 spool dir 
    import_file file             Import user data from jabberd14 spool file 
    import_piefxis file             Import users data from a PIEFXIS file (XEP-0227) 
    incoming_s2s_number             Number of incoming s2s connections on the node 
    install_fallback file            Install the database from a fallback file 
    load file               Restore the database from text file 
    mnesia [info]              show information of Mnesia system 
    mnesia_change_nodename oldnodename newnodename oldbackup newbackup Change the erlang node name in a backup file 
    outgoing_s2s_number             Number of outgoing s2s connections on the node 
    register user host password           Register a user 
    registered_users host            List all registered users in HOST 
    rename_default_nodeplugin           Update PubSub table from old ejabberd trunk SVN to 
                     2.1.0 
    reopen_log               Reopen the log files 
    restart                Restart ejabberd 
    restore file              Restore the database from backup file 
    set_master nodename             Set master node of the clustered Mnesia tables 
    status                Get ejabberd status 
    stop                Stop ejabberd 
    stop_kindly delay announcement          Inform users and rooms, wait, and stop the server 
    unregister user host            Unregister a user 
    update module              Update the given module, or use the keyword: all 
    update_list               List modified modules that can be updated 
    user_resources user host           List user's connected resources 

Examples: 
    ejabberdctl restart 
    ejabberdctl --node [email protected] restart 

Commands to start an ejabberd node: 
    start Start an ejabberd node in server mode 
    debug Attach an interactive Erlang shell to a running ejabberd node 
    live Start an ejabberd node in live (interactive) mode