パケットをフィルタリングする ejabberd モジュールを作成しています。を使用していくつかの構成をプルするには、ホスト名を取得する必要がありますgen_mod:get_module_opt()
。
私は4つの重要な機能を持っています:
start(Host, _Opt)
: これはモジュールをロードするための ejabberd 関数です。Host
ここで原子を取得しますfilter_packet({From, To, XML})
: これは私のパケット フィルター フックです。ejabberd のフックであるため、この関数にカスタム パラメータを渡すことはできません。get_translation(XmlData)
:ループでfilter_packet()
呼び出すget_translation()
fetch_translation(XmlData)
: から再帰的に呼び出されget_translation()
ます。これは私が呼び出している場所でgen_mod:get_module_opt()
あるため、Host
.
私の質問は、グローバル変数Host
から取得start()
してグローバル変数に入れ、fetch_translation
アクセスできるようにするにはどうすればよいですか?