問題タブ [prosody-im]
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.
xmpp - ユーザーがサブスクライブしているユーザーのグループを条件付きで即時に変更するのに最も適しているのは、どの XEP または eJabberd モジュールですか?
XMPP サーバーに接続されたデータベースにユーザーが保存され、dataId
ユーザーごとに追加のデータ列 ( と呼びましょう) も保存されているとします。データ列は、1、2、または 3 の 3 つの値を取ることができます。
サーバーにログインする XMPP クライアントでは、ユーザーのリストが XMPP プレゼンス ステータスと共に表示されます。リストには、すべて同じ の値を持つユーザーが表示されますdataId
。クライアントdataId
は表示される値を変更できます。つまり、クライアントが値を切り替えると、ユーザーは新しいユーザー リストの存在に何らかの形でサブスクライブされますが、古いユーザー リストにはサブスクライブされません。
XMPP の経験のある人が、どの XEP または対応する eJabberd (または Prosody) モジュールを使用できるか、またはこのタイプの機能に最も適しているかについて提案があるかどうか疑問に思います。
私はゆっくりと XEP を調べていますが、多くのモジュールがあり、どのモジュールを使用できるか、またはこれを処理するために XMPP サーバーにカスタム コードをセットアップする必要があるかどうかはまだ明確ではありません。
php - JAXL 経由で Prosody に接続する: 「このサーバーはユーザー名を提供しません」
私は独自の韻律サーバーをセットアップしており、Windows XMPP クライアントを介して接続できます。サーバーには 2 つのアカウントがあり、それらの両方として接続し、それらの間でメッセージを交換できます (私は Mozilla Thunderbird の組み込みクライアントを使用しています)。
サーバー (「domain.com」) で仮想ホストを構成しています。
私は今、アカウントの 1 つとして PHP 経由でサーバーに接続し、他のアカウントにメッセージを送信しようとしています。私はそれを行うためにJAXLを選択しました。
「jid」の形式に注意してください。これにより、「このサーバーはユーザー名を提供していません」というエラーが発生します。
jid を username@domain.com に変更すると、代わりに「無効なユーザー名」と表示されます。
追加すると
start() の前に、「このサーバーはサービスを提供していません...」というメッセージが表示されます。JID の両方の形式で。
何が間違っている可能性がありますか?これは、PHP 7.1 および最新バージョンの JAXL と prosody で実行されています。
http - Prosody サーバーが外部 API に対して HTTP リクエストを行うことは可能ですか?
Prosody サーバーには、HTTP 要求に応答できるようにするモジュールがいくつかあります。
たとえば、mod_http_rest を使用すると、XMPP スタンザをペイロードとしてポート 5280 で POST 要求を行うことができ、Prosody サーバーは途中でそのスタンザを送信して応答します。
ただし、逆のことを行うモジュールを探しています。つまり、通常の方法で受信した XMPP メッセージを取得し、そのメッセージをペイロードとして指定したサーバーに HTTP POST 要求を行います。
これを行うモジュールが見つからないようです。そのようなことはありますか?
そうでない場合、そのようなモジュールを記述できる Prosody API で使用できる機能はありますか?
あるいは、これが悪い考えである正当な理由はありますか?