2014-05-23 3 views
1

나는 성공적으로 내 친구 (코드를 Tweetinvi 라이브러리를 사용하여 다음과 같은)의에 의해 생성 된 모든 트윗을 스트리밍하는 C# 응용 프로그램이 있습니다.스트림 트윗

var userStream = Tweetinvi.Stream.CreateUserStream(); 

userStream.TweetCreatedByFriend += (sender, args) => 
{ 
    ConsoleLog(args.Tweet.Text); 
} 

가능한 경우 어떻게하면 내 친구들의 화면 이름을 언급 한 트윗을들을 수 있습니까? 예 : 나는 @alice과 친구 야. 하지 내 친구가 지금 @bob,이 같은 트윗 :

Hi @alice, how are you ? 
내가 하지 내 친구 @bob, 이상 트윗을들을 수있는 방법

또는 MAY NOT친구 또는 추종자@alice?

답변

0

당신은 할 수 없습니다. 적어도 당신이 너무 많은 친구가 있다면 나는 할 수 있다고 생각하지 않는다. 현재 내가 현재 볼 수있는 유일한 해결책은 공개 스트림이며 사용자가 따르지 않는 사용자의 트윗에 액세스 할 수 있으므로 FilteredStream을 사용하는 것입니다. 당신이 추종자의 목록이 낮은 경우

충분히 당신은 트위터의 사용자로부터 @userScreenName를 포함하는 모든 트윗을 팔로우 할 수 있습니다 그 결과 다음과 같은

var fs = Stream.CreateFilteredStream(); 
fs.AddTrack("@userScreenName"); 

을 할 수 있습니다.

+0

지금까지 유일한 방법은 같다. 하지만 이미 실행중인 스트림에 트랙을 추가해야하기 때문에 트랙을 멈추거나 트랙을 추가하거나 스트림을 다시 시작하는 것은 Tweetinivi로 시도 할 때 신뢰할만한 솔루션이 아닙니다. 그래서 당신이 더 나은 제안이 있다면 알려주시겠습니까? – theGeekster

+0

나는 그것을 조사하려고 노력할 것이다. 그러나 Tweetinvi 또는 다른 API를 사용하는 경우 매개 변수로 끝점을 요청해야합니다. 따라서 이미 실행중인 스트림을 수정할 방법이 없습니다. 항상 StreamReader를 중지 한 다음 올바른 끝점을 사용하여 StreamReader를 다시 시작해야합니다. – user2465083

+0

그래서 내가 틀렸어. Tweetinvi.Stream.TrackedStream.StartStream (endpoint_url_with_parameters)이 내 사건이다. 어디 새 트랙을 추가 할 때마다 업데이트 된 끝점 URL을 제공해야합니까? 오케이, 사용자 @ 사용자 이름 다음에 나오는 endpoint_url의 올바른 예를 들어 주시겠습니까? – theGeekster

0

나는 이것은 매우 오래된 질문 알고 있지만 UserStream을 사용하고 UserMentions를 필터링하려고합니다. 나는 지금 나 자신을하는 더 좋은 방법을 찾으려고 노력 중이다. 사용자가 멘션 할 때마다 UserStream에 추가됩니다. 예, 그건

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 
}