1

Perl のNet::Jabberを使用している場合、単純なメッセージをオフライン ユーザーに送信すると、ユーザーがオンラインになったときにメッセージが配信されます (ユーザーの gmail アカウントに未読メッセージとして表示されます)。それはするのと同じくらい簡単です

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

Ruby xmpp4rでは、同じことを行ってもメッセージはオフライン ユーザーに送信され、代わりに (非同期) xmpp service-unavailable スタンザが返されるか、何も返されず、機能しません。メッセージは単に失われます。

xmpp4r でオフライン メッセージを送信するにはどうすればよいですか?

また、関連する件名で、Jabber::Stream の send メソッドの xmpp の API ドキュメントには、「ブロック」パラメータがあります。それをどのように使用しますか?

ありがとう

4

1 に答える 1

3

type=:chatメッセージを実行していることを確認してください。

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

(長期的な明確化のために、Ricardo Pardini のコメントからコピーされたコード)

于 2011-02-14T18:51:35.050 に答える