Как изменить рабочий процесс подписки присутствия на сервере ejabberd?

Я разрабатываю что-то с сервером ejabberd. Я пришел к необходимости изменения логики подписки. Я использую ejabberd-2.1.11

Мне нужно узнать, как работает подписка, я хотел бы изменить логику так, чтобы пользователи автоматически загружали свой список контактов с подпиской и сохраняли его в подписке table-colum на rosterusers, чтобы иметь возможность быть B. Чтобы они могли иметь возможность смотреть онлайн и в их контактах хотя бы когда первый уже зарегистрировался на сервере. (надеюсь, что это имеет смысл для вас и является действительным)

Я очень новичок в архитектуре erlang и ejabberd, но я уже разработал некоторые базовые модули, мой вопрос к вам: не могли бы вы помочь мне в этом вопросе, насколько сложно сделать это изменение, и если бы вы могли дать мне несколько советов, где изменения будут

1 ответ

Я бы держался подальше от модификации сервера, он соответствует стандартам и соответствует спецификации. Поэтому, если вам когда-либо понадобится перейти на другой сервер или выполнить обновление, вы знаете, что он просто будет работать. Чтобы добиться этого, нужно реализовать это поведение на клиенте с использованием функций сервера. Если вы действительно уверены, что хотите изменить сервер, mod_roster.erl - это файл, который вы хотите просмотреть. При использовании внешней БД вы также можете изменить БД напрямую, но изменения не будут отражены до тех пор, пока клиенты не войдут обратно.

Другие вопросы по тегам