2009.5.13に、Twitterの「@USERNAME」についての仕様が変更されました。
暫定まとめ。
従来は@付きの発言のうち、自分のタイムライン(http://twitter.com/home を開いたときに現れる発言。以下同様)に流す条件を3通りから選択出来た。しかしこれ以降は、無条件で従前の「@ replies to the people I'm following」の形式に統一された。
- 自分がフォローしている人の発言がタイムラインに流れる条件は、以下のどれかを満たしていることである。
- 「in_reply_to_user_id」がない。
- 「in_reply_to_user_id」の指定が自分自身か、あるいは自分がフォローしているユーザである。
- Mentions(旧:Replies)タブに発言が流れる条件は、自分への@が含まれていることである(従来通り)。
in_reply_to_user_id とは「返信対象のユーザID」のことである(返信対象の発言ID in_reply_to_status_id とは別)。これは以下の条件のもと付与される。
- in_reply_to_status_idが正しく付与されていれば、その@の対象のユーザIDが in_reply_to_user_id となる。
- そうでなければ、文頭の「@USERNAME」に対応するユーザIDが in_reply_to_user_id となる。(文頭が@でなければ、in_reply_to_user_id は空である。)
例1)「. @AAA おはよう!」という発言は、
- in_reply_to_status_id がユーザAAAの発言ならば、in_reply_to_user_id はユーザAAAのIDとなる。
- in_reply_to_status_id がなければ、in_reply_to_user_id は付与されない。
例2)「@AAA @BBB おはよう!」という発言は、
- in_reply_to_status_id がユーザAAAの発言か、in_reply_to_status_id がなければ、in_reply_to_user_id はユーザAAAのIDとなる。
- in_reply_to_status_id がユーザBBBの発言ならば、in_reply_to_user_id はユーザBBBのIDとなる。
ユーザAAAは、ユーザBBBをフォローしていてユーザCCCをフォローしていないとする。このとき
- ユーザBBBの「@CCC おはよう!」という発言は、ユーザAAAのタイムラインには流れない(この場合、in_reply_to_user_id はCCCのIDになる以外はありえないため)。
- ユーザBBBの「. @CCC おはよう!」という発言は、
- それが「in_reply_to_status_id=[ユーザCCCの発言]」であった場合には、ユーザAAAのタイムラインには流れない。
- そうでなければ、ユーザAAAのタイムラインに流れる。
- ユーザBBBの「@CCC @AAA おはよう!」という発言は、
- それが「in_reply_to_status_id」を付与せずに投稿されたものであれば、ユーザAAAのタイムラインには流れない(ユーザAAAのMentionsタブには流れる)。
- それが「in_reply_to_status_id=[ユーザAAAの発言]」であった場合には、ユーザAAAのタイムラインには流れる。
- ユーザCCCの「@AAA @BBB おはよう!」という発言は、ユーザAAAのタイムラインには流れない(ユーザAAAのMentionsタブには流れる)。
- あくまで、タイムラインにはフォローしているユーザのものしか流れない。(クライアントによっては、Mentionsタブの内容をタイムライン部分に加えて表示する場合もありますが。)