Как изменить рабочий процесс подписки присутствия на сервере ejabberd?
Я разрабатываю что-то с сервером ejabberd. Я пришел к необходимости изменения логики подписки. Я использую ejabberd-2.1.11
Мне нужно узнать, как работает подписка, я хотел бы изменить логику так, чтобы пользователи автоматически загружали свой список контактов с подпиской и сохраняли его в подписке table-colum на rosterusers, чтобы иметь возможность быть B. Чтобы они могли иметь возможность смотреть онлайн и в их контактах хотя бы когда первый уже зарегистрировался на сервере. (надеюсь, что это имеет смысл для вас и является действительным)
Я очень новичок в архитектуре erlang и ejabberd, но я уже разработал некоторые базовые модули, мой вопрос к вам: не могли бы вы помочь мне в этом вопросе, насколько сложно сделать это изменение, и если бы вы могли дать мне несколько советов, где изменения будут
1 ответ
Я бы держался подальше от модификации сервера, он соответствует стандартам и соответствует спецификации. Поэтому, если вам когда-либо понадобится перейти на другой сервер или выполнить обновление, вы знаете, что он просто будет работать. Чтобы добиться этого, нужно реализовать это поведение на клиенте с использованием функций сервера. Если вы действительно уверены, что хотите изменить сервер, mod_roster.erl - это файл, который вы хотите просмотреть. При использовании внешней БД вы также можете изменить БД напрямую, но изменения не будут отражены до тех пор, пока клиенты не войдут обратно.