Получение последнего твита, который не является прямым сообщением

Я использую Sferik Twitter Gem, чтобы получить последний твит из учетной записи Twitter, используя:

Twitter.user_timeline("someUserName").first.text

Это хорошо работает, но включает твиты прямого сообщения. Я хотел бы показать последний стандартный твит (т.е. не твит @кого-то).

Как я мог это сделать?


person Undistraction    schedule 02.09.2012    source источник


Ответы (1)


Я просто немного поигрался с библиотекой, и кажется, что даже когда в тексте есть @user, свойство to_user твита равно нулю. Возможный способ сделать это — просто найти в тексте вхождения @user строк. Например вот так:

tweets.find {|x| x.text.match(/@.*/) == nil }
person drexin    schedule 02.09.2012
comment
Хорошее мышление. Я попробую. Хотя обычно @users добавляются позже в непрямом твите, чтобы эти пользователи были фактически скопированы, поэтому это также отклонит их. - person Undistraction; 02.09.2012
comment
Вы можете настроить регулярное выражение так, чтобы оно соответствовало @user только в начале строки. - person drexin; 03.09.2012