秋葉原に住むIT技術者の単なる雑記帳

【Bluesky】【Mastodon】Apple Watchのショートカットから定型文をマルチポスト可能にする方法

来週日曜日に、私は「Bluesky Advent Calendar 2024」15日目の記事を「Telmina.net」にて公開予定です。

 その記事の執筆のために、過去に私がこのブログに残したBluesky関連の記事を見返しております。これについては、ハッシュタグ「 #Bluesky 」で確認可能です。

 その中に、自分が「Apple Watch」とiOSショートカット機能を使ってBlueskyに定型文を投稿する方法について記した記事があります。

 この記事を書いたのはもう半年以上も前の5月1日で、この時点ではまだMastodonに投稿する方法がわかっておらず、あくまでBlueskyに投稿する方法として公開しました。

 その後、Mastodonに投稿する方法も判明し、自分のiOSショートカットの中ではその方法を取り込み、実際に定型文のBluesky並びにMastodonへのマルチポストを実現しております。

 その方法について、ずっとブログに投稿したとばっかり思い込んでいたのですが、いくら探しても見つかりません。

 というわけで、今更ではありますが、「【Bluesky】Apple Watchのショートカットから定型文を投稿可能にしてみた。」のMastodonマルチポスト対応版について、公開することとします。

選択した定型文をBlueskyおよびMastodonにマルチポスト出来るようにしたApple Watch


Apple Watch からの定型文投稿をおこなうきっかけとなった情報

 「【Bluesky】Apple Watchのショートカットから定型文を投稿可能にしてみた。」でも触れております通り、元々自分がApple Watchから定型文投稿をしようと思ったきっかけは、こちらの記事となります。

 これを参考に、先述の定型文投稿用のショートカットを実装しました。

 今回はさらにそこからの改造となります。

 なお、ショートカットの編集はすべてWatchの母艦となるiPhoneにておこないます。今回私は、iPhone 16 Pro Maxを用いました。

改造した内容

事前準備

 事前に次の内容を確認しておく必要があります。

 なお、Mastodonのアクセストークンの取得方法については、ここでは詳しくは解説しません。下記の記事を参考にして、ご自身のアカウントに対して「write」のアクセス権を持つアプリの設定をおこない、設定後に取得可能な英数字43桁の「アクセストークン」を控えておいてください。

定型文をリストから選択して変数に設定する

 元の記事では、都度投稿文を入力してそれを変数に格納していますが、「Apple Watch」上で定型文を選べるようにするために、ここを改造します。

①リストにあらかじめ使う定型文を仕込んで…

 まずはリストを用意します。多用する割に入力がクソ面倒くさい定型文をリストの中にひたすら設定します。

②選択した項目を取得する。

 「【Bluesky】Apple Watchのショートカットから定型文を投稿可能にしてみた。」の時は、この時点で選択された項目と追加テキストを連結して変数に格納しておりましたが、今回はまだそのようにはせず、選択した項目をそのまま取得し、次の分岐の条件として使います。

条件分岐

 分岐の条件は、取得した選択項目の内容に応じて、次の通りとします。

③条件に応じて処理を分岐させる。③A:「(投稿しない)」の場合は処理終了

 「(投稿しない)」の場合は、「終了します。」のアラートを出力し、そのままショートカットを停止させます。

③B:「(フリーテキスト)」の場合はテキスト入力させる。

 「(フリーテキスト)」の場合は、テキスト入力用のダイアログを出現させます。

 一応、Apple Watchからも文字入力は可能であるようなのですが、自分の視力とお世辞にも繊細とは言えない指裁きでは、Watchの小さい画面で文字入力など不可能です。これはあくまでiPhoneからショートカットを呼び出したときのために用意したものです。

③C:「(クリップボードから)」の場合はクリップボードの内容を呼び出す。

 「(クリップボードから)」の場合は、クリップボードに保存されている内容を投稿文として呼び出します。これも、iPhoneから呼び出されたときのために用意したものです。

③D:その他の場合、選択された定型文を変数に格納する。

 「(投稿しない)」でも「(フリーテキスト)」でも「(クリップボードから)」でもなく、通常の定型文が選択された場合は、その内容を投稿本文の変数に格納します。

 なお、「【Bluesky】Apple Watchのショートカットから定型文を投稿可能にしてみた。」執筆時点ではまだMastodonに直接投稿する方法がわからなかったため、先述の疑似マルチポストの方法で仕込んだおまじないのハッシュタグを連結しておりましたが、今回は実際のマルチポストをおこなうため、おまじないのハッシュタグは不要となりました。

投稿本文があれば処理続行。まずはBlueskyへの投稿から

④投稿本文に何もなければショートカット停止、そうでなければBlueskyのセッション情報を取得して処理続行

 「(フリーテキスト)」、「(クリップボードから)」もしくは通常の定型文を選択した場合、投稿本文用の変数に内容がセットされているか否かを確認します。

 セットされていなければ、ここでショートカットを停止します。

 セットされていれば、処理を続行します。

 ここからは、いよいよBlueskyへの投稿をおこなう部分です。

 ここから先、しばらくの間は、ほぼ元の記事と同じです。

 ただ、

https://bsky.social/xrpc/com.atproto.server.createSession

で投稿に必要な情報を取得するときに、リクエストデータ内の次の項目には自分の情報を設定する必要があります。

⑤セッション情報を取得

⑥投稿日時を設定

⑦投稿

⑧リクエストデータのrecordの中身。投稿日時と投稿内容はここで設定している。

 Blueskyへの投稿をおこなう部分の後半については、元の記事の内容に改変を加えていません。処理の詳細については、元の記事をご一読願います。

続いてMastodonにも投稿

⑨Mastodonへの投稿

 当初「Mastodonへの投稿方法がわかりません」などと言っていたのがまるでウソであるかのごとく、Mastodonへの投稿に必要な設定内容はシンプルでした。

 なお、次の項目には自分の情報を設定する必要があります。

Apple Watch への反映を忘れずに

 最後に、「Apple Watch に表示」を選べば、「Apple Watch」から定型文を選択してBlueskyに投稿することが出来るようになっているはずです。

 ショートカット編集画面下部の中央にある「ⓘ」を選択すると、ショートカットの詳細設定画面が開きます。そこで、「Apple Watchに表示」を有効化すれば、晴れてWatchからショートカットを呼び出して、定型文のBluesky並びにMastodonへのマルチポストをおこなうことが可能になります。

⑩Apple Watch に表示

心残り

 なんでこんな重要な情報を投稿するのを忘れていたんだろう(ぉぃ)。

#2024年 #2024年12月 #2024年12月8日 #SNS #Bluesky #Apple #AppleWatch #iPhone #iOS #Mastodon #マストドン #SNS #分散型SNS #Fediverse #TelminaNet #AdventCalendar