Отправка сообщения XMPP автономному пользователю Google Talk с помощью ruby ​​xmpp4r - PullRequest
1 голос
/ 12 февраля 2011

При использовании Perl Net :: Jabber , отправка простого сообщения автономному пользователю приводит к тому, что сообщение доставляется пользователю, когда он подключается к Интернету (оно даже отображается в учетной записи gmail пользователя как непрочитанные сообщения). ). Это так же просто, как сделать

my $msg = Net::Jabber::Message->new();
$msg->SetMessage(...);
$connection->Send($msg);

В Ruby xmpp4r , выполнение той же эквивалентной вещи не отправляет сообщение автономному пользователю, вместо этого возвращает (асинхронно) раздел недоступности службы xmpp или даже ничего не возвращает , а также не работает. Сообщение просто потеряно.

Как отправить автономное сообщение с помощью xmpp4r?

Кроме того, в соответствующей теме, в api docs xmpp для метода отправки Jabber :: Stream , есть параметр "block". Как можно это использовать?

Спасибо

1 Ответ

3 голосов
/ 14 февраля 2011

Убедитесь, что вы делаете type=:chat в сообщении.

client.send(Jabber::Message.new(jid, contents).set_type(:chat))

(код, скопированный из комментария Рикардо Пардини, для долгосрочной ясности)

...