【Typescript + Express + Vercel】ポケモンの素早さの実数値を調べる LINE BOT をリリースしてみた
「ポケモン最新作が発売されたのでランクマッチを遊ぶぞ!」
「でもポケモンのすばやさが覚えられず、先手を取れるかどうかわからない...」
そんな本業エンジニア、副業ポケモントレーナーの皆さんに朗報です。
ポケモンの名前を入力すると素早さの数値を確認できる LINE BOT をリリースしました 🎉
使い方
- 当 BOT を友達登録する
- ポケモンの名前を送信する
- ポケモンのすばやさ種族値・実数値が返ってくる
- 以上
開発について
技術スタック
- LINE Messaging API
- TypeScript + Node.js + LINE Messaging API SDK + express
- Vercel
アプリケーション構成
- ユーザーによって当 BOT から Messaging API にテキストメッセージが送信される
- Messaging API に登録した express のエンドポイント に、Webhook イベントが送信される
- Webhook イベントに応じて、サーバで処理(ソースコード後述)を行う
- サーバの処理結果を Messaging API に返す
- Message API から当 BOT にレスポンスメッセージが送信され、ユーザーがレスポンスメッセージを確認する
サーバ処理
所感
LINE BOT 作るの簡単すぎ
Messageing API のドキュメントが非常にわかりやすかったです。
クイックスタートに従うだけで LINE BOT の大枠がもう完成してしまった...
API は開発者にとっての UIとはよく言ったものですが、作るだけでなく使うユーザーのことを考えることが大事であることを再確認しました。
自分で実装する範囲は Messaging API から送信された Webhook イベントを処理するエンドポイント 1 つだけだったので、 3 日間という短い期間でスピーディに開発することができました 🏃
Vercel 便利すぎ
Vercel はフロントエンド開発者向けのプラットフォームであり、イノベーターがひらめいた瞬間に作成するために必要なスピードと信頼性を提供します。
AWS 上に EC2 を立てて SSH 接続して...というデプロイしか経験がなかった自分としては Vercel のデプロイまでの速さは衝撃でした。
git push のたびに自動的にデプロイしてくれる
今回は Github とのリポジトリ連携によるデプロイを行ったのですが、CLI や Vercel が提供する API からもデプロイできるようです。
Vercel を使用してみることも開発の目的の 1 つだったので、無事感動できてよかったです!
書いている途中にドキュメントを見ていて気づいたのですが、Vercel Serverless Functionsを使用することで express も使用せずにサーバーレス関数として実行できそうです(というかこちらが想定される使い方である気がする)。
こちらも週末にでも試してみたいと思います。
今後について
利用者数・リクエスト数の監視
LINE Official Account Manager を使用すると、当 BOT を友だち追加してくれたユーザ数・BOT から返信したメッセージ数などを監視することができます。
使用されている様子が一目でわかる
既に 13 名の方に友だち登録されているようです、嬉しい!
Twitter で周知した際には全く増えず、地元の友達に周知した際に一気に増えたので全員地元の友達であることが想定されます。
自分はリリース前に別の案件に異動してしまうことが多く、アプリケーションの運用を行ったことが経験がほぼありません 😢
なのでこのような画面を見れるだけでもかなりワクワクしてしまい 1 時間ごとにチェックしに行ってしまっております、増えろ!
追加コンテンツへの対応
前作同様、追加コンテンツの発売によってポケモンが大幅に増加することが想定されます。
こちらについては以下の理由から対応は比較的スムーズに行えると考えています 👌
- 追加されるポケモンについてもすばやさの計算自体は変わらずロジックの追加が必要ないこと
- JSON ファイルに追加されたポケモンの種族値を追記するだけで対応できること
おわり
普段から息巻いて個人開発スタート ⇨ やーめたを繰り返しています。
今回は簡単なアプリケーションではありますが、公開まで行えたので大満足です 🤓
監視できる仕組みが用意されているので、1 ヶ月後くらいに今回の反省点も含めて追記したいところです。
ここまで読んでいただけた方も 、是非こちらから友だち登録をお願いします!
フォロワー 27 人の弱小 Twiiter アカウント で宣伝もしています、こちらも是非。
Discussion