OSDN Git Service

UserStreamsのfavorited_retweetイベント追加に対応
authorspx <spx268@gmail.com>
Sat, 17 Jan 2015 01:18:14 +0000 (10:18 +0900)
committerspx <spx268@gmail.com>
Sat, 17 Jan 2015 01:18:14 +0000 (10:18 +0900)
OpenTween/Resources/ChangeLog.txt
OpenTween/Twitter.cs

index 4bed05b..f81fd2d 100644 (file)
@@ -2,6 +2,8 @@
 
 ==== Ver 1.2.5-beta1(20xx/xx/xx)
  * NEW: 他人にRTされた自分のツイートをメニューから削除できるようになりました
+ * NEW: UserStreams の favorited_retweet イベント追加に対応
+  - イベント通知の有無は favorite イベントの通知設定に準じます
  * FIX: 振り分けルールの設定後、表示中の発言一覧でツイートの並びがおかしくなる不具合を修正
  * FIX: タブ削除の取消後、ツイートの内容が表示されるまでラグがある不具合を修正
  * FIX: 画像が紐付いていないTumblrのURLに対してサムネイル画像欄が表示され読み込みに失敗する不具合を修正
index 28b1aed..352c5e2 100644 (file)
@@ -3363,7 +3363,8 @@ namespace OpenTween
             { "list_user_subscribed", MyCommon.EVENTTYPE.ListUserSubscribed },
             { "list_user_unsubscribed", MyCommon.EVENTTYPE.ListUserUnsubscribed },
             { "mute", MyCommon.EVENTTYPE.Mute },
-            { "unmute", MyCommon.EVENTTYPE.Unmute }
+            { "unmute", MyCommon.EVENTTYPE.Unmute },
+            { "favorited_retweet", MyCommon.EVENTTYPE.Favorite },
         };
 
         public bool IsUserstreamDataReceived
@@ -3531,6 +3532,9 @@ namespace OpenTween
                 case "unfollow":
                     evt.Target = "@" + eventData.Target.ScreenName;
                     break;
+                case "favorited_retweet":
+                    if (evt.Username.ToLower().Equals(_uname)) return;  //元発言のfavoriteイベントも同時に流れてくるので、こっちは無視する
+                    goto case "favorite";
                 case "favorite":
                 case "unfavorite":
                     var tweetEvent = TwitterStreamEvent<TwitterStatus>.ParseJson(content);
@@ -3543,6 +3547,7 @@ namespace OpenTween
                                                return ev.Username == evt.Username && ev.Eventtype == evt.Eventtype && ev.Target == evt.Target;
                                            })) return;
                     }
+                    if (evt.Event == "favorited_retweet") break;
                     if (TabInformations.GetInstance().ContainsKey(tweetEvent.TargetObject.Id))
                     {
                         var post = TabInformations.GetInstance()[tweetEvent.TargetObject.Id];