Mastodonに投稿を公開する

このトピックでは、Discourse ActivityPub プラグインを使用して Discourse から Mastodon に投稿を公開する方法について説明します。これは、ActivityPub アクターの設定方法ActivityPub アクターのフォロー方法に続くものです。これが何を意味するかわからない場合は、まずDiscourse ActivityPub プラグインのトピックを参照してください。

手順

Mastodon に公開するには:

  1. Mastodon に公開したいカテゴリまたはタグのアクターを設定します。
  2. アクターの「ハンドル」をコピーします。
  3. Mastodon でハンドルを検索し、フォローします。

[note] マークアップ

[note][/note] でテキストを囲むことにより、ActivityPub 経由で公開する投稿の一部を選択できます。これにより、Mastodon のようなマイクロブログサービスに表示される内容をより細かく制御できます。たとえば、コンポーザーで投稿が次のように表示される場合:

嬉しいニュースがあります:

Everything Pets が雑誌を創刊します!

Mastodon では次のように表示されます:

Everything Pets が雑誌を創刊します!

「いいね!」 4

こんにちは。現在、Mastodon の投稿でアクターのプロフィール画像が表示されず、ぱっとしない見た目になっています。

これは、投稿している Discourse ユーザーのアバターを使用するか、少なくとも Discourse インスタンスの小さなロゴを使用することで解決できますか?

「いいね!」 2

初めて試しましたが、期待どおりに動作しませんでした。

  • タグで使用しました。
  • アクターを編集 > 投稿オブジェクトタイプ > ノート
    このノート構文は、Discourse の投稿で読者に表示されるべきですか?

その後、ノート構文は表示されずに、投稿全体がフェデレーションされました。

参考までに、最初にノートを含めて Discourse 投稿を公開しました。その後、フェデレーションされるまでの 5 分間に、ノートタグが醜く、混乱していたため削除しました。その後、投稿がフェデレーションされた後に「消える」のではないかと思い、再度追加しました。

投稿全体がフェデレーションされたのを見た後、Discourse 投稿からノート構文を削除しました。

[/note] を記載し忘れていませんか?

例:

[note]The Social Music Network is a community[/note] that encourages...

この例では、最初の7語のみがMastodon(およびFediverse)に送信されます。

タグは投稿の先頭にある必要はありません。タグが存在しない場合は、最初の500文字が抜粋として使用されます。

「いいね!」 2

または、Activity pub note excerpt maxlength = 0 の場合、投稿全体が表示されます。

確信はありませんが、その設定がゼロの場合、[note][/note] は何も行わないという記憶があります。

「いいね!」 1

少し混乱しています。投稿が最初に連合化されたときにタグは存在していましたか?

「いいね!」 1

ご質問ありがとうございます!

いいえ、共有したスクリーンショットで確認できます。両方の囲みが異なる段落にあると違いがありますか?

ああ、これは0に設定していますが、説明から、0に設定するとノートが機能しないとは理解していませんでした。

はい、トピックをフェデレーションするために使用したタグは最初から存在し、変更されていません。ノートの構文が 行ったり来たり しました。

それが本当かどうかはわかりません。ただそう感じるだけです。どうなるか試してみてください。

はい、すみません。「タグ」とは [note][/note] のことでした。それが投稿された時点でフェデレーションされていたかどうか、まだ少し不明瞭です。もしフェデレーション後にそれらを追加したのであれば、すでにフェデレーションされているコンテンツには適用されません。

「いいね!」 1

はい、承知いたしました。ディスコースに新しいトピックを投稿した際、そしてトピックがフェデレーションされた後も、しばらくの間 [note][/note] はそのままの状態でした。

今回はこのままにしておき、次回投稿をフェデレーションする際には、何が起こる可能性があるか、そして何を期待すべきかを知っているので、すべてのステップに注意を払います。

すみません、まだ少し不明瞭です。申し訳ありませんが、今日は少し鈍いのかもしれません!この一連の出来事が起こったのでしょうか?

  1. [note][/note] タグを含めて、Discourse で新しい投稿を作成しました。
  2. その投稿は 5 分後に ActivityPub 経由で公開される予定でした。
  3. 公開予定時刻の前に [note][/note] タグを削除しました。
  4. その投稿は ActivityPub 経由で公開されました。
  5. ActivityPub 経由で投稿が公開された後、投稿に [note][/note] タグを再度追加しました。

これが起こったことでしょうか?

@angus いいえ、違います。 :slight_smile: そのように記憶しているのですが、これだけ議論を重ねると自信がなくなってきました。

  1. [note][/note] タグを含めて Discourse に新しい投稿を作成しました。
  2. その投稿は 5 分後に ActivityPub 経由で公開されるようにスケジュールされていました。
  3. スケジュールされた公開の前に、投稿に表示されることを期待していなかったので [note][/note] タグを削除しました。
  4. しかし、その後「まあ、投稿がどのようにかフェデレーションされた後に消えるかもしれない」と思い、元に戻しました。
  5. 投稿は ActivityPub 経由で公開されました。

複数のタグにアクターを追加し、それらのタグを使用して投稿を作成しました。両方のアクターがactivity pubに投稿することを期待していましたが、片方しか投稿しませんでした。メインのmastodon.socialアカウントで両方をフォローしていますが、ログには片方の投稿しか表示されません。これは意図した動作ですか、それとも1つのアクターしかサポートされていませんか?

投稿に複数のタグ付けされたアクターが関連付けられている場合、現在、最初にリストされたタグのアクターのみが投稿を公開します。同じ分類タイプの複数のアクターから一度に公開するサポートを追加することは、良い#機能要望です(activitypub とタグ付けしてください)。

マストドンに公開するカテゴリやタグを制御する方法はありますか?特定の内部議論トピックを投稿から除外したいのですが、お知らせやブログ記事は公開できるようにしたいです。よろしくお願いします!

@Kayaartさん、ご質問ありがとうございます。ActivityPubアクティブとして明示的に設定したタグとカテゴリのみが、フェディバースにコンテンツを公開します。内部ディスカッション用のカテゴリやタグがある場合は、そのままにしておいてください(つまり、アクティブを設定しないでください)。

ご説明ありがとうございます。よく理解できました!
では、確認ですが、もしカテゴリやタグの一部でActivityPubのアクターを設定しなかった場合、それらはMastodonに何もプッシュされない、ということで合っていますか?

はい、その通りです。

ユーザープロフィールページのフェデレーションタブには、DiscourseまたはMastodonのタイプを指定してリンクされたアクターを追加する設定があります。

リンクされたアクターに関連付けられた投稿は、あなたのアカウントに帰属します。

これはどのように機能しますか? Mastodonアカウントをここに追加した場合、私のMastodonの投稿はDiscourseに表示されるのでしょうか、それともその逆でしょうか? 前者の場合、タグとカテゴリはどのように選択されますか? Discourseアカウントをここに追加した場合、外部サーバーからの投稿は、これが設定されているものに追加されますか? 再度、カテゴリとタグが一致しない場合はどうなりますか?

私はDiscourseとMastodonの両方をホストしており、このDiscourseインスタンスにもアカウントを持っています。 私にとって最適な設定は、どちらかのDiscourseインスタンスへの投稿が両方のサーバーに表示され、Mastodonで一度共有されることだと想像します。 これがどのように設定されるかは、前の質問への回答次第です。

また、ActivityPub上の投稿に返信するについてはどうですか? カテゴリ、タグ、ユーザーのために、リンクされたアクターからの投稿に返信するためにMastodonを使用できますか?

こんにちは @ericomeehan さん

どちらでもありません!この機能は、通常のプロセス(たとえば、カテゴリまたはタグアクター経由)でフェデレーションされた投稿をアカウントに関連付けることができるようにするものです。例を挙げます。

  1. Discourseに「Announcements」という名前のカテゴリがあり、それを完全なトピックActivityPub公開で設定したとします。

  2. Discourseにユーザーアカウント eric_discourse があります。

  3. Mastodonにユーザーアカウント eric_mastodon があります。

  4. eric_mastodon で「Announcements」をフォローします。

  5. eric_discourse(つまりあなた)が「Announcements」に新しいトピックを作成します。

  6. Announcementsがトピックをフェデレーションします。

  7. Mastodonで eric_mastodon を使用してそのトピックに応答します。

  8. あなたの応答は、Discourse Announcementsカテゴリによって処理され、トピック内の返信(投稿)として表示されます。

  9. eric_mastodoneric_discourse に関連付けるものがないため、ActivityPubプラグインは eric_mastodon の返信投稿(アクターのユーザー名から生成されたユーザー名)のステージング済みユーザーを作成します。eric_mastodon1

  10. トピックは次のようになります。

    • eric_discourse からの最初の投稿。
    • eric_mastodon1 からの返信(2番目)の投稿。

あなたが言及している機能は、Discourseに複数のユーザーアカウントを持たなくて済むように、あなたが eric_mastodon1 であることを証明することを可能にします。そのタブで認証プロセスを完了すると:

  • eric_mastodon1 の投稿は eric_discourse の投稿になります。
  • eric_mastodon1 は存在しなくなります。
  • 今後の eric_mastodon からのアクティビティは、Discourseインスタンスで eric_discourse に関連付けられます。
「いいね!」 2