Search code examples
jsontwitter

ReTweets: categories. Modes and text pattern in retweets' text


Studying retweets, obtained using Twitter4j API, I observed in the JSON (Tweet Object) that there are several kinds of retweets (with different text pattern). The most common is to see if in the Tweet Object, the property 'retweet_status' is not null. Despite this I saw that there are other retweets where 'retweet_status' is null but the 'text' starts with: RT

Furthermore, I saw retweets that have this text pattern: RT via @username: blablabla. Or, RT "@username: ...". Can someone explain me the differences between them?

Retweets examples:

  1. RT @usernameX: someText via @usernameY
  2. RT via @usernameX: someText via @usernameY #HashTag
  3. RT text via @username: someText
  4. RT "@usernameX: someText via @usernameY" (in this case I don't understand the quotes)
  5. RT @usernameX: aLink via @usernameY sometext.
  6. RT text “via @usernameX: someText”

Thank in advance for help.


Solution

  • Twitter didn't have a retweet feature for long time. That's why people tried to simulate it by manually copying tweets.

    "<text>" @sender
    "<text>" by @sender
    "<text>" via @sender
    RT @sender <text>
    RT @sender: <text>

    Sometimes people would make their manual copy as a reply to the original tweet, or add a link to the original tweet, but this was rare, because at the time Twitter only supported 140 characters per tweet. People actually sometimes shortened the original text in their copy to fit the length.

    Then Twitter introduced the only real retweet. That's what retweet_status points to. Again, this is the only real retweet, technically. The other formats that I wrote and you wrote in your question and more are meant to "simulate" a retweet.

    Later Twitter also introduced "retweet with comment". This is not a retweet in fact. It's just an embedded tweet, or sometimes called quoted tweet. Although this term "quoted tweet" also applies to literally copying and pasting tweet text. The reason the words are used with different meaning, is because different Twitter client used them differently. Instead of copying and pasting the tweet text, you just add a link to the original tweet, and twitter uses this link entity and shows it property in your tweet.

    So, if you are after what's technically a retweet, you only rely on retweet_status. You can extend this to also tweets that have entities that are links to other tweets. Anything else is up to speculation. Just using " " and an @ is not guaranteed to be meant as a tweet. Even when seeing RT or via, you don't know for sure if there's a literal tweet by the mentioned person that has the same exact words or not.