🤖

iPhoneのショートカットで簡単なMisskeyBotを作る方法

2022/11/05に公開

はじめに

この記事ではApple公式のショートカットアプリを利用してMisskeyBotの作り方を解説していきます。(iPadでも出来ますが記事中ではiPhoneで統一します。)

そもそもMisskeyって何?

MisskeyはActivityPubで繋がる分散型SNSのソフトウェアです。簡単に言うとメールのSNS版。別の表現だと、いろんな人が「WordPress」というブログソフトウェア(CMS)を使ってブログを立ち上げるように、いろんな人が「Misskey」というSNSソフトウェアを使ってSNSを立ち上げて、ついでに、そのサーバー同士を繋げてどこにいても別のサーバーのユーザーとつながれるというものです。


よろしければ...
https://join.misskey.page/ja-JP/

出来ること

定期的に投稿

〇〇時にデータを取得してそれを投稿するということができます。

出来ないこと

チャットボットを作る

リプライやメンションに対して処理をするということはできません。

複雑なこと

出来ないというよりはショートカットでやろうとすると逆に大変になります。Pythonなど、本格的なものを触ってみませんか?

前提条件

iPhoneがWi-Fiやセルラー回線などインターネットと繋がってる必要があります。

注意事項

稀に、ショートカットアプリのバグで投稿できないことがあります。また、ショートカットアプリはバグが多いので本来繋げることができるはずなのに上手く繋がってくれなかったり、配置したい場所にドロップしても吹っ飛んでいってしまうなどのことがあります。どうしようもないので改善を待ちましょう。


作り方

共通

ショートカットを作成

1.プラスマークを押してショートカットを作成します。
2.上にスワイプします。(しなくても良い)
3.アクション名を検索します。


基本のアクション

1.URLURLの内容を取得を以下のように配置します。

2.URLの内容を取得を展開して方法をPOSTに変更します。本文を要求の下にある新規フィールドを追加を押してテキストを選択してキーにiと入れます。


トークンを取得する

1.Misskeyを開いてハンバーガーボタンを押します。
2.設定を押します。
3.その他の設定のAPIを押します。
4.アクセストークンの発行を押します。
5.トークンの権限を設定します。名前は好きなものを入れてください。(*強力な権限を持つため使うものだけを選択して使いましょう)
6.今回の場合はノートをを作成・削除するを選択します。
7.トークンが発行されます。英数字の文字列が生成されるのでコピーしてください。再発行することはできません。また、このトークンは基本的に公開してはいけません。パスワードのように管理してください。


ノートを投稿する

設定

URL: https://{サーバーのURL}/api/notes/create
Token: ノートを作成・削除する
本文を要求: JSON

アクション

テキスト
i: Token*
text: 投稿する文章
visibility: public,home,followers,specified
cw: null,注意文(100文字まで)

配列
fileIds: FileId

ブール値
localOnly: ,

画像を展開


ファイルをドライブにアップロードする

設定

URL: https://{サーバーのURL}/api/files/create
Token: ドライブを操作する
本文を要求: フォーム

アクション

テキスト
i: Token*

ファイル
file: ファイル

画像を展開

制作例

時間になったら明日の天気予報を投稿する

展開

これはほぼ説明不要だと思うので画像だけで...


画像をアップロードしてそれを投稿する

展開

(よく起きるバグ)

まぁなんということでしょう。バグによってURLの内容の出力を取得することができません。はい。こういう時は一回タスクキルをしてもう一度立ち上げてください。大体の場合そうすることでURLの内容を取得の出力を選択できるようになります。


(本題)
とりあえず全体的なアクションとしてはこのようになります。



アップロードした画像をノートに添付して投稿するにはファイルをアップロードした後に辞書の値を取得を使ってURLの内容内のidの値を取得します。そのあとにノートを投稿する部分に新規フィールドを追加から項目を選択してfileIdsをキーにしてx項目の部分を押します。そうすると画面が出てくるので(何も反応しない場合はタスクキルして入りなおしてください)新規フィールドを追加からテキストを選択して項目xには何も入れずに右のテキストを押して変数を選択を押して辞書の値を指定すると画像を添付したノートを投稿することができます。
言葉で書くとややこしくなりますがやってることは簡単なので下のほうで配布しているサンプルアクションを見てみてください。
また、複数枚をアップロードすることもできますが、説明がめんどくさいのでこれもサンプルアクションを見てください。

実用例

低気圧アラートBot
気象庁の天気図を定期的に取得してOCR(画像から文字を摘出する奴)で一定の文字列を検出したら熱帯低気圧や台風があると判断して投稿するBotです。

NowWatching
Botではありませんが、Youtubeの共有からその他を選択して、このショートカットを実行するとタイトルとURLと共にMisskeyにシェアさするショートカットです。(自身のサーバーとトークンを設定する必要があります。)

サンプルアクション

ノートを投稿する
Link

明日の天気予報を投稿する
Link

画像をアップロードして投稿する
Link

複数枚の画像をアップロードして投稿する
Link

おわりに

さて、今回の記事はいかがでしたか?今回の記事ではMisskeyBotをiPhoneで作成する方法をお伝えしました。Misskeyはまだまだ発展途上なソフトウェアではありますが今後に期待ですね^^

最高にうざいなこれ...終わります。ありがとうございました。

気が向けばほかにもいろいろ追加するかも。

Discussion