Exemple #1
0
 private static async void VtuberReplyTweetEvent(VtuberEntity vtuber, TweetInfo tweet)
 {
     LogHelper.Info($"Vtuber [{vtuber.OriginalName}] 回复了 {tweet.ReplyScreenname} 的推特 {tweet.Content}");
     foreach (var api in CallbackApis)
     {
         await api.CallReplyAsync(vtuber, tweet);
     }
 }
Exemple #2
0
 private static async void VtuberRetweetedEvent(VtuberEntity vtuber, TweetInfo tweet)
 {
     LogHelper.Info($"Vtuber [{vtuber.OriginalName}] 转发了 {tweet.RetweetedTweet.User.Name} 的推特: {tweet.Content}");
     foreach (var api in CallbackApis)
     {
         await api.CallRetweetedAsync(vtuber, tweet);
     }
 }
Exemple #3
0
 private static async void VtuberPublishTweetEvent(VtuberEntity vtuber, TweetInfo tweet)
 {
     LogHelper.Info($"Vtuber [{vtuber.OriginalName}] 发布了新的推特 {tweet.Content}");
     foreach (var api in CallbackApis)
     {
         await api.CallPublishTweetAsync(vtuber, tweet);
     }
 }
Exemple #4
0
        public List <TweetInfo> Get(string hashtag)
        {
            InitializeApi();
            var tag = String.Format("https://api.twitter.com/1.1/search/tweets.json?q={0}&result_type=recent", hashtag);
            var res = myApi.Get(tag);
            List <TweetInfo> list = new List <TweetInfo>();

            foreach (var item in (JArray)res[0].ToList()[0].Value)
            {
                TweetInfo info;
                info = new TweetInfo(item["user"]["screen_name"].Value <string>(), item["user"]["profile_image_url"].Value <string>(), item["text"].Value <string>());
                list.Add(info);
            }
            return(list);
        }
 public async Task CallReplyAsync(VtuberEntity vtuber, TweetInfo tweet)
 {
     using (var client = HttpClientExtensions.CreateClient())
     {
         var body = new TwitterCallbackBody()
         {
             VtuberName        = vtuber.OriginalName,
             Content           = tweet.Content,
             IsReply           = tweet.IsReply,
             PublishTime       = tweet.CreateTime.ToTimestamp(),
             ReplyScreenName   = tweet.ReplyScreenname,
             RetweetedUsername = tweet.RetweetedTweet?.User?.Name,
             Sign = Sign
         };
         await client.PostJsonAsync(Url + "tweet/reply", body);
     }
 }
Exemple #6
0
        public void TweeterInfoEntrySholdBeParsedCorrectly()
        {
            // Arrange
            var info = new TweetInfo(
                "[MESSAGE]: The tweet by user (foo) is: (RT @DaytonMSoccer: COMING SOON. Dayton Men's Soccer on Instagram. Launching Monday. Be sure to check us out.) and it was tweeted on (2009-02-13T10:00:41-08:00)",
                "[TWEET_INFO]: This tweet has been retweeted (2) times, and have been favorited by (4) people. ",
                "[HASH_TAGS]: This tweet has the following hash tags: (FlyTogether)",
                "[LOCATION]: The location of this tweet is lat: (123.12), long: (-123.12)"
                );

            // Act - Assert
            Assert.Equal("RT @DaytonMSoccer: COMING SOON. Dayton Men's Soccer on Instagram. Launching Monday. Be sure to check us out.", info.Message);
            Assert.Equal(2, info.Retweeted);
            Assert.Equal(4, info.Favorited);
            Assert.Equal("FlyTogether", info.HashTags.First());
            Assert.Equal(123.12, info.Latitude);
            Assert.Equal(-123.12, info.Longitude);
        }