リプライ(返信)と転送

リプライでお相手と会話

Mentionを送る」ではMentionをDM的な使い方しか想定してなかった。お相手にリプライ(返信)して「会話」をするにはただMentionを送るだけでは足りないので追加。

  1. リプライ(返信)するNoteのidをActivity(JSON)に設定する
  2. 宛先を設定する
  3. お相手からのリプライ(返信)を自分のフォロワーに転送する

【Activity(JSON)】に返信するNoteのidを設定

返信するJSONのtype:NoteにinReplyToという項目を追加。値にお相手のNoteのidを設定する


{
  "@context": ["https://www.w3.org/ns/activitystreams", {"Hashtag": "as:Hashtag"}],
  "type": "Create",
  "id": "https://tokoroten.doncha.net/t2aki/activity/04163-20250317", 
  "url": "https://tokoroten.doncha.net/t2aki/activity/04163-20250317", 
  "published": "2025-03-16T23:06:07Z", 
  "actor": "https://tokoroten.doncha.net/t2aki", 
  "to": ["https://mstdn.jp/users/donbe2023"],
  "cc": ["https://www.w3.org/ns/activitystreams#Public","https://tokoroten.doncha.net/t2aki/followers","https://mstdn.jp/users/donbe2023/followers"],
  "object": {
    "type": "Note",
    "id": "https://tokoroten.doncha.net/t2aki/items/04163-20250317",
    "url": "https://tokoroten.doncha.net/t2aki/items/04163-20250317",
    "published": "2025-03-16T23:06:07Z",
    "to": ["https://mstdn.jp/users/donbe2023"],
    "cc": ["https://www.w3.org/ns/activitystreams#Public","https://tokoroten.doncha.net/t2aki/followers","https://mstdn.jp/users/donbe2023/followers"],
    "inReplyTo":"https://mstdn.jp/users/donbe2023/statuses/114154821103691602",
    "attributedTo": "https://tokoroten.doncha.net/t2aki",
    "content": "\u003ca href=\"https://mstdn.jp/users/donbe2023\"\u003e@donbe2023@mstdn.jp\u003c/a\u003e JSON確認のテスト",
    "tag": [{"name":"@donbe2023@mstdn.jp","href":"https://mstdn.jp/users/donbe2023","type":"Mention"}]
  }
} 
	

「inReplyTo」を設定したNoteのActivityを投げると、どの投稿に対する返信かわかりやすく表示される。
reply

Mastodonなんかだと、「inReplyTo」のほか、返信の配列をページングして返してる。
type:NoteのActivityに「replies」という項目が追加されていて、そこにページャーが指定されている。


"replies":{
  "id":"https://mstdn.jp/users/donbe2023/statuses/114121155171705376/replies",
  "type":"Collection",
  "first":{
    "type":"CollectionPage",
    "next":"https://mstdn.jp/users/donbe2023/114121155171705376/replies?only_other_accounts=true\u0026page=true",
    "partOf":"https://mstdn.jp/users/donbe2023/statuses/114121155171705376/replies",
    "items":[]
  }
}
	

たぶん、丁寧に対応するならここまでやる必要はありそう(そこまでやる?ということでウチは未対応)

inReplyTo, object, target, tag の値が サーバが所有しているオブジェクトである。サーバは、自身が所有しているリンクされたオブジェクトを探すためにこれらの値を 再帰するべきであり(SHOULD)、 再帰の上限を設定するべきである(SHOULD) (つまり、スレッドが深くなった時点で、受信フォロワーは、 受信者に直接関係ない更新を受け取らなくても気にしないかもしれない)

【宛先を設定する】

投稿の公開範囲」とほぼ同じ。

リプライ(返信)は、タイムライン上でフォロワーにも見えるオープンな会話前提がほとんど、ということで。

  • 「to」にはお相手やPublicを指定
  • 「cc」に自分のフォロワーとお相手のフォロワーを指定

「お相手のフォロワー」を指定するのが単独の投稿と違うところ。
この指定をされたActivityを受け取ったら、お相手は自分のフォロワーに受け取ったActivityを「転送」する

[2025-03-17 09:11:31] v1.0.0

Menu