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.