問題タブ [ejabberd-hooks]
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.
ejabberd-hooks - run フックと run_fold フックを見つける
ドキュメントhttps://docs.ejabberd.im/developer/hooks/には、 run_hook (戻り値の型が使用されない) フックとrun_fold (戻り値の型が将来のフックで使用される)フックの 2 つのタイプがあると書かれています。
run_fold フックの例として、filter_packetが示されています。他にもたくさんのフックがリストされていますが、どのフックがrun_hookとrun_foldフックであるかを見つけるにはどうすればよいでしょうか?
xmpp - ejabberd でセッションが作成されるのはいつですか? 認証はどのように機能しますか?
ejabberd のデータフローを理解しようとしていて、今まで苦労しています。
まず、これらは私が取り組んでいるモジュールです: ejabberd_c2s、ejabberd_auth、ejabberd_sm、ejabberd_sm_mnesia。
ejabberd_c2s は、他のクライアントと通信したいクライアントのエントリ ポイントである gen_fsm であることを理解しています。
データフロー: クライアントが ejabberd_c2s に接続すると、何のデータかは不明ですが、{JID} の行に沿ってデータが送信されます。しかし、ejabberd_c2s の認証方法がわかりませんか? 認証モジュールを実際に呼び出す場所と、認証が成功した場合、そのユーザーのセッションを作成するのは誰ですか? それは ejabberd_c2s または ejabberd_auth ですか?
ejabberd_sm[_mnesia] は、実際に誰でもセッションを作成する API 呼び出しであることを理解しています。
コード/サンプルへの参照は大歓迎です。
この全体がどのように正確に機能しますか?
どうもありがとう!
ios - Ejabberd で iPhone のプッシュ通知のペイロード コンテンツを管理する方法
Ejabberd 16.03 を使用して iPhone でチャット アプリケーションを作成しました。エンド ユーザーのモバイル アプリがフォアグラウンド/バックグラウンドで実行されていない場合、Ejabberd によるプッシュ通知を介してメッセージが受信されるたびにアラートが送信されます。この通知のペイロードで、ユーザーの JID を取得しました。
次に、このペイロードにProfile_Nameなどのフィールドをもう 1 つ追加します。しかし、私は次のことを知りません:
1) プッシュ通知を送信するためにどのモジュールが使用されていますか?
2) Ejabberd はこれらのプッシュ通知をどのように送信していますか?
3) Ejabberd はどこからデバイス トークンと証明書ファイル (.pem) を取得していますか?
4) 通知のペイロードを構成するにはどうすればよいですか?
私はいくつかの研究開発を行いましたが、特別なことは何も得られません。プッシュ通知用のモジュールがたくさん見つかりましたが、これらのモジュールを追加する必要はないと思います。私はプッシュ通知をうまく受け取っているからです。これらの通知のペイロードをカスタマイズしたいだけです。
どうすればこれができるか教えてください。
push-notification - オフラインと利用不可の違い
ejabberd-16.08 を使用してチャット インフラストラクチャを実装しており、受信者ユーザーがオフラインのときに web サーバーにリクエストを送信するためにmod_interact ( https://github.com/adamvduke/mod_interact ) を使用することにしました (送信できるようにするため)。プッシュ通知)
しかし、mod_interact を ejaberd と統合して、名簿内のオフラインの友人の 1 人にメッセージを送信すると、mod_interact が mod_offline メッセージではなく mod_unavailable メッセージを送信することがわかりました。(mod_offline だけがプッシュ通知を送信するための適切な情報を持っているため、mod_interact に mod_offline メッセージを送信してもらいたい)
では、オンラインであることと利用できないことの違いと、それをどのように設定できるのでしょうか。
PS:メッセージを送信しようとしているユーザー(利用できないようです)がサーバーから切断されました(具体的には、彼/彼女の存在を利用不可に設定していません)
ありがとう
ejabberd - Ejabberd mod_mam を使用してアーカイブ テーブルに余分なフィールドを保存する方法 (メッセージ アーカイブ管理、XEP-0313)?
チャット アプリケーションに Ejabberd サーバーを使用しています。メッセージをアーカイブテーブルに保存するのに機能しますが、メッセージが送信されたときにテーブルに追加のフィールドを保存したいです。このフィールドはメッセージごとになります。