はじめに
少し前に、Slack botを作りました。
このときはまだSlackの審査が終わってない、いわゆる「野良アプリ」状態でした。今回、Slackの審査を行って無事に公開されたため、その流れを書きます。
公開までの流れ
以下のように、公開までに2回リジェクトされました。
最初に審査を出してからOKが出るまで10日かかりました。
ただ、そんなに難しくなかった感じです。
前準備
↓
アプリの申請(1回目)
↓
リジェクト(1回目)
↓
アプリの修正(1回目)
↓
アプリの申請(2回目)
↓
リジェクト(2回目)
↓
アプリの修正(2回目)
↓
審査OK
↓
公開
やったこと
アプリを公開するために、以下の作業を行いました。
- プライバシーポリシーページを作る(英語)
- 概要を書く
- DMに対応
- ヘルプ機能対応
プライバシーポリシーを作る(英語)
Google検索をすると、「プライバシーポリシージェネレータ」というものがいくつか見つかります。最初はこれを使う予定でした。
しかし今回作ったbotはシンプルなもので、保持している情報はトークンおよび、アプリが取ってるリプライのログだけです。なのでプライバシーポリシーもシンプルなもので十分だと考えました。
そこでまず、他のシンプルなbotのプライバシーポリシーを調べてみました。
例えばCatFactsというbotのプライバシーポリシーはとても簡素にできています。
書かれているのは「メッセージのために認証トークンのみ保持しているよ」というたった1文です。
シンプルな例を見つけたので、プライバシーポリシーは自作したほうがいいと確信し、Google翻訳を使って自作しました。
1回目の申請
プライバシーポリシーを記載して、とりあえず1回目の申請を行いました。
1回目は「概要が不十分」と言われてリジェクトされました。
概要をきちんと書く
最初は「タロット引くだけのbotに書くことなんてないよ」と思い、雑に文字稼ぎをして埋めてたのですが、それだとダメだと言われました。以下の2点をきちんと書く必要があります。
- このアプリができること
- 使い方
概要は日本語で書いて問題ありません。
2回目の申請
概要を修正したあと、2回目の申請を行いました。
2回目は「ダイレクトメッセージに対応していない」「ヘルプ機能がない」と言われてリジェクトされました。
ダイレクトメッセージ(DM)に対応
DMに対応するにはイベントmessage.imをSubscribeする必要があります。
ただし来たメッセージにそのままリプライすると無限にリプライし続けてしまうため、botかどうかの判定を入れました。具体的には、イベントに含まれる subtypes
の値が bot_message
の場合に無視しています。
{
"type": "message",
"subtype": "bot_message",
"text": "...",
"ts": "...",
"user": "..."
}
ヘルプ機能対応
ヘルプ機能に対応するには、テキストに応じて処理を変える必要があります。たろっとさんでは、以下の2パターンの文字列が来たときにヘルプ表示を行っています。
- テキストが
help
のみの場合(DM) -
/^<@[\w]+> help$/
にマッチする場合(リプライ)
3回目の申請
3回目の申請後、レビューが完了したというメールが来ました。
以下のように書かれているので、アプリのページに移動して、"Publish App"を押すことで、アプリが公開されました。
There’s just one last step: when you’re ready to publish your app to the App Directory, head over to your app configuration and hit “Publish App”
おわりに
作ったけど誰も使ってくれてません(ノ∀`)
やっぱりTwitter Botの方が需要ありますかね・・・