プログラムでPythonからejabberdにユーザーを登録できるejabberd pythonライブラリはありますか?
現在、python コマンド モジュールを使用して「ejabberdctl register」コマンドを実行しています。
Ejabberdサーバーでインバンド登録用にmod_registerをアクティブ化した場合は、@ Drakeが指摘しているように、XMPPライブラリを使用してユーザーを登録できます。
Pythonでは、SleekXMPPをお勧めします。はじめにの例は、まあ、良い出発点です。
mod_register_webをアクティブにした場合は、HTTPPOSTリクエストをに送信できますhttp://<SERVERNAME>:5280/admin/server/<VIRTUALHOSTNAME>/users/
。このURLは、次の3つのパラメーターを想定しています。
ここで、paramの期待値addnewuser
は文字列「AddUser」のようです。
ejabberd adminユーザーが呼び出されuser
、パスワードpassword
を使用していると仮定すると、Python用のrequests HTTPライブラリを使用して、次のようなことができます。
import requests
from requests.auth import HTTPBasicAuth
server = "NAME OF YOUR EJABBERD SERVER"
virtualhost = "NAME OF YOUR EJABBERD HOST"
url = "http://%s:5280/admin/server/%s/user/" % (server, virtualhost)
auth = HTTPBasicAuth("user", "password")
data = {
'newusername': "new_user",
'newuserpassword': "new_password",
'addnewuser': "Add User"
}
resp = requests.post(url, data=data, auth=auth)
assert resp.status_code == 200
ejabberd は Jabber/XMPP インスタント メッセージング サーバーです。つまり、xmppyなどの任意の XMPP モジュールを利用できます。
また、このスレッドを確認してください: GChat クライアント用の最も成熟した Python XMPP ライブラリはどれですか? .