Strophe.js sendIQ, чтобы последняя активность не работала, Ejabberd

Я пытаюсь найти способ проверить, подключен ли пользователь к сети, не зная его SID. Единственный способ, которым я дошел, - это проверить время его последней активности. Если он возвращает ошибку, значит он в сети, если он имеет значение, то он не в сети... Я не уверен, есть ли другой способ узнать, есть ли пользователь в сети.

Должен ли я включить какие-либо конкретные вещи в Ejabberd?

Но когда я посылаю IQ, он тоже не работает.

    var iq = $iq({
          type: 'get',
          id: 'last1',
          to: "jay@server.com" })
.c('query', {xmlns: 'jabber:iq:last'}); 
conn.sendIQ(iq);

Изменить: я узнал, что запрашивающая организация не имеет права на получение информации о последней активности, как я могу это разрешить? Я админ

1 ответ

Чтобы получить информацию о последней активности, необходимо добавить пользователя в свой список. Допустим, А желает получить последний вид активности Б, а затем А должен быть добавлен в список Б.

Итак, вам нужно добавить A и B в список друг друга, прежде чем получить доступ к последней просмотренной информации. Вы можете использовать инструмент администрирования set roster или ejabberd ejabberdctl для добавления в список друг друга.

И я предполагаю, что вы уже включили модуль mod_last в конфигурации ejabberd.

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