Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections.Generic;
- using Athenaeum.Filter.GuiSystem;
- using Athenaeum.Filter.QuerySystem;
- using Athenaeum.Model.KernelModel;
- using Std.Tweak;
- namespace Lycanthrope.Filter.SystemFilter
- {
- public class ConversationFilter : SysFilterBase
- {
- protected override bool FilterStatus(TwitterStatusBase status)
- {
- var ts = status as TwitterStatus;
- if (ts == null) return false;
- if (ts.User.ScreenName == User1)
- {
- if (ts.InReplyToScreenName == User2 ||
- KernelModel.TweetServerModel.GetExtraData(ts.Id).InReplyFromUserScreenNameContains(User2) ||
- ts.Text.Contains("@" + User2))
- return true;
- else
- return false;
- }
- else if (ts.User.ScreenName == User2)
- {
- if (ts.InReplyToScreenName == User1 ||
- KernelModel.TweetServerModel.GetExtraData(ts.Id).InReplyFromUserScreenNameContains(User1) ||
- ts.Text.Contains("@" + User1))
- return true;
- else
- return false;
- }
- else
- return false;
- }
- [GuiVisible("ユーザー1")]
- public string User1 { get; set; }
- [GuiVisible("ユーザー2")]
- public string User2 { get; set; }
- [MethodVisible()]
- public void Between(string user1, string user2)
- {
- User1 = user1;
- User2 = user2;
- }
- public override string Class
- {
- get { return "Conversation"; }
- }
- public override IEnumerable<object> GetArgumentsForQueryify()
- {
- yield return User1;
- yield return User2;
- }
- public override string Description
- {
- get { return "2ユーザー間の会話を抽出"; }
- }
- public override string FilterStateString
- {
- get { return "ユーザー " + User1 + " と " + User2 + " の会話を抽出"; }
- }
- }
- }
Add Comment
Please, Sign In to add comment