ダイレクトメッセージを受信したときのイベントハンドラが欲しい

  • ページ: 目安箱
  • 投稿者: mutaguchi?
  • 優先順位: 低
  • 状態: 完了
  • カテゴリー: AzureaScript?
  • 投稿日: 2011-04-13 (水) 11:56:14
  • バージョン:

メッセージ

ダイレクトメッセージを受信したときのイベントハンドラが欲しいです。引数からダイレクトメッセージのテキスト、送り主、送信日時などが取りたいです。


  • 初回受信時を除く毎回イベント発生でもかまわないでしょうか -- tmyt? 2011-04-13 (水) 15:47:31
  • ちょっと意味がわからないんですが、初回受信時はイベント発生せず、そのあとは届くたびにイベント発生ということですか?それならその動作で良いと思います。ただその場合はviewからダイレクトメッセージのItemが取れるようになっていたほうがいいかなとも思います。 -- mutaguchi? 2011-04-13 (水) 18:21:44
  • 空の状態でRefreshしたときにすべての項目に対してイベントを飛ばしますか?というあれでして、おそらくGrowl連携とかで使いたいということなんだと思いますが、その場合とりあえず読みに行った40件に対して通知が発生するとそれはそれで困るんじゃないでしょうかとおもった次第です -- tmyt? 2011-04-13 (水) 19:52:17
  • https://gist.github.com/917477 取り急ぎ、現状のAzureaScript?で無理矢理実装してみました。Google Closure Compilerにてminifyしたものも付けております。実働環境が無いので、JSLintにかけた丈ですが。   とはいえ、DM送受信・削除は、Stream APIとして受け取っているのではないでしょうか。それをeventで拾えるのなら、大変有用です。cf. UserStream?有効時のイベント受信 http://azurea.refy.net/ja/wiki/index.php?%E7%9B%AE%E5%AE%89%E7%AE%B1%2F31 ですね -- ne_Sachirou? 2011-04-13 (水) 21:53:47
  • たしかにそれはありますねー。というかPreProcessTimelineStatus?でも同じ問題があって、現状はsetTimeoutを使って短期間にたくさんstatusが来た場合ははじくようにしてます。PreProcessTimelineStatuses?でstatusオブジェクトの配列が取ってこれるようになれば、そこで個数を見て処理をするかしないか決められるんですが…。というわけで、DMに関しても同等のイベントハンドラがあればいいかな、と思います。 -- mutaguchi? 2011-04-14 (木) 00:44:10
  • ne_Sachirouさん、ありがとうございます。DMのviewを監視して、新しいitemが来たら返すみたいな感じなんですかね。なかなか力作ですねー。 -- mutaguchi? 2011-04-14 (木) 00:45:44
  • 5分毎に、無理矢理callRefresh()してDMを取得、viewを監視しています。とはいえ、未だ姿の見えないapiLevel 16でないと動かない上に、apiLevel 16でイベントが実装されれば(されそうですね)、結局此のscriptは陽の目を見ない事になるので、なんでつくったんでしょう………←(l _ l〃)。   ところでDMも、homeやmentionと同じく次回起動用にキャッシュするのは、禁止されたりしてるのでしょうか?? -- ne_Sachirou? 2011-04-14 (木) 20:07:08
  • とりあえずStreamで取ってこれるDirectMessage?に関してはTiwtterService?.userStreamのイベント、receiveDirectMessage?でハンドリングできるようにしておきました -- tmyt? 2011-04-15 (金) 01:37:36

もし見えてたら空欄にしてね!:

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-08-27 (土) 10:33:42 (1247d)