我有一个c#应用程序,可以成功地流式传输我的任何朋友创建的所有tweet(使用Tweetinvi库和以下代码)。
var userStream = Tweetinvi.Stream.CreateUserStream();
userStream.TweetCreatedByFriend += (sender, args) =>
{
ConsoleLog(args.Tweet.Text);
}
我如何(如果可能的话)收听提到我的任何朋友的网名的推文?例:我是@alice的朋友。现在@bob,他是不是我的朋友,发了这样的推文:
Hi @alice, how are you ?
@bob,谁是不是我的朋友,并且可能或可能不是@alice的的朋友或追随者,我如何收听上面的tweet ? 你不能那样做。至少我认为如果你有太多的朋友,你就做不到。你目前我目前能看到的唯一解决方案是使用FilteredStream,因为它是一个公共流,你可以访问你没有关注的用户的推文。
如果你的关注者列表足够低,你可以做以下操作
var fs = Stream.CreateFilteredStream();
fs.AddTrack("@userScreenName");
因此,您将能够关注所有包含@userScreenName的Twitter用户的推文。
我知道这是一个非常古老的问题,但尝试使用UserStream并过滤掉usermention。我现在正试图找到一个更好的方法来做这件事。每次有用户提到你,他们就会被添加到你的用户流中。
var stream = Tweetinvi.Stream.CreateTweetStream();
stream.TweetReceived += (sender, args) =>
{
if(args.Tweet.IsRetweet || !args.Tweet.UserMentions.Any((x)=> x.Id == user.Id))
{
return;
}
//Code to respond to mention here
}