【问题标题】:Set up twitter stream to get live streams from a user based on keywords设置 twitter 流以根据关键字从用户那里获取实时流
【发布时间】:2019-12-12 09:45:46
【问题描述】:

如果我想要在特朗普发布任何带有“种族主义”或“移民”一词的推文时进行直播,我该怎么做?我不确定这是否有效,更不用说如何向查询中添加多个关键字了。

public static void Stream_SampleStreamExample()
{
    var stream = Stream.CreateUserStream();
    stream.AddCustomQueryParameter("realDonaldTrump", "racist");
    stream.MessageReceived += (sender, args) =>
    {
        Console.WriteLine(args.Message.Text);
    };

    stream.AddTweetLanguageFilter(LanguageFilter.English);            

    stream.StartStream();
}

我必须先关注用户吗?

public static void AuthenticatedUser_FollowUser(string userName)
{
    var authenticatedUser = User.GetAuthenticatedUser();
    var userToFollow = User.GetUserFromScreenName(userName);

    if (authenticatedUser.FollowUser(userToFollow))
    {
        Console.WriteLine("You have successfully sent a request to follow {0}", userToFollow.Name);
    }
}

【问题讨论】:

    标签: c# tweetinvi


    【解决方案1】:

    目前这可行。首先

    string userStr = "realDonaldTrump";
    
    // From a user screen name
    user = User.GetUserFromScreenName(userStr);
    userIdentifier = new UserIdentifier(user.Id);
    

    添加要匹配的关键字:

    fs.AddTrack("immigration");
    ...
    

    设置过滤流:

    IFilteredStream fs = Stream.CreateFilteredStream();
    and so on...
    

    然后,在 OnMatchedTweet 中,查看推文的创建者是否是您想要的用户。

    OnMatchedTweet(object sender, MatchedTweetReceivedEventArgs args)
    {        
        if (args.Tweet.CreatedBy.Id != user.Id)
            return;
        ...
    }
    

    【讨论】:

      猜你喜欢
      • 2011-12-23
      • 1970-01-01
      • 2016-04-28
      • 1970-01-01
      • 2021-02-27
      • 2012-11-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-25
      相关资源
      最近更新 更多