Отправка сообщения XMPP автономному пользователю Google Talk с помощью ruby xmpp4r
При использовании Perl Net::Jabber отправка простого сообщения автономному пользователю приводит к тому, что сообщение доставляется пользователю, когда он подключается к Интернету (оно даже отображается в учетной записи gmail пользователя как непрочитанные сообщения). Это так же просто, как делать
my $msg = Net::Jabber::Message->new();
$msg->SetMessage(...);
$connection->Send($msg);
В Ruby xmpp4r выполнение аналогичной операции не отправляет сообщение автономному пользователю, а возвращает (асинхронно) раздел недоступности службы xmpp или даже не возвращает ничего, а также не работает. Сообщение просто потеряно.
Как отправить оффлайн сообщение с помощью xmpp4r?
Кроме того, в соответствующей теме, в api docs xmpp для метода send Jabber::Stream, есть параметр "block". Как можно это использовать?
Спасибо
1 ответ
Убедитесь, что вы делаете type=:chat
на сообщение.
client.send(Jabber::Message.new(jid, contents).set_type(:chat))
(код, скопированный из комментария Рикардо Пардини, для долгосрочной ясности)