ejabberd-2.1.12 が "invisible" というプレゼンスを介して MUC で非表示になる可能性を追加したい (ejabberd の 3.xx バージョンでは、これは非推奨になることを知っている - http-bind を介してサイトに対してそれを行う) .
したがって、タスクは次のとおりです。指示のないプレゼンスを「見えない」状態で送信し、ユーザーが接続しているすべてのルームでそれを StateData に変更します。
そのため、ejabberd_c2s.erl を変更し、ユーザーが指示なしのプレゼンスを変更すると、mod_muc_room.erl に通知を送信します
関数 mod_muc_room.erl :
room_state() ->
receive
Msg -> (any data about user, presence),
room_state()
end.
ルームは、ユーザーが自分のプレゼンスを変更したことを認識しており、独自の StateData を変更する必要がありますが、この値を取得し、変更して、このルームに挿入 (置換) するにはどうすればよいですか?