Потоковые твиты, в которых упоминается @friendname

1

У меня есть приложение на С#, которое успешно передает все твиты, созданные любым из моих друзей (с использованием библиотеки Tweetinvi и следующего кода).

var userStream = Tweetinvi.Stream.CreateUserStream();

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

Как (если возможно) я могу слушать твиты, в которых упоминается какое-либо имя экрана моего друга? например, я друг @alice. Теперь @bob, который НЕ мой друг, твиты вроде этого:

Hi @alice, how are you ?

Как я могу слушать выше твита @bob, кто НЕ мой друг, и МОЖЕТ или НЕ МОЖЕТ быть другом или последователем @alice?

Теги:
twitter
friend
tweetinvi
twitter-follow

2 ответа

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
}
0

Вы не можете сделать это. Или, по крайней мере, я не думаю, что вы можете, если у вас слишком много друзей. Единственное решение, которое вы сейчас видите в настоящее время, это использовать фильтр FilteredStream, поскольку он является общедоступным потоком, и вы можете получать доступ к твитам от пользователей, которых вы не соблюдаете.

Если список ваших последователей достаточно низкий, вы можете сделать следующее

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

В результате вы сможете следить за всеми твитами, содержащими @userScreenName, у любого пользователя Twitter.

  • 0
    Да, это пока единственный выход. Но поскольку мне приходится добавлять треки в уже запущенный поток, поэтому остановка / добавление трека / возобновление потока вряд ли является надежным решением, как я пытаюсь с Tweetinivi. Поэтому, пожалуйста, дайте мне знать, если у вас есть лучшее предложение для этого?
  • 0
    Я постараюсь взглянуть на это. Но в любом случае с Tweetinvi или любым другим API вам нужно запросить конечную точку с вашими параметрами. Поэтому нет способа изменить поток, пока он уже запущен. Вам всегда нужно будет остановить StreamReader, а затем перезапустить StreamReader с правильной конечной точкой.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню