LINEトークの会話に応じて12球団現役プロ野球選手の最新情報を返信するLINE botです。
選手情報は、NPB(日本プロ野球機構)ウェブサイトから引用させていただきました。
本アプリは以下の機能を持ちます。
- 1日1回、NPBのウェブサイトをスクレイピングする
- 現役プロ野球選手のプロフィール(氏名、生年月日、キャリアなど)および成績を取得する
- 現役選手とは支配下登録選手および育成選手である(2020/8/10現在、931名)
- NPBウェブサイトからは得られないが野球ファンの間で広く用いられている指標(OPS, WHIPなど)を計算する
- 取得・計算した選手データはRDBに格納する
- スクレイピングは、必ず1秒以上アクセス間隔を置くように制御する (サーバ負荷を考慮)
- LINE-botの公開
- ユーザがbotに選手名をトークすると、botはその選手の情報をRDBから取得してユーザに返答する
- ユーザがbotにチーム名+背番号をトークすると、botはその選手の情報をRDBから取得してユーザに返答する
- 複数名の選手がRDBで検索hitした場合は、botは該当選手候補を一覧化してユーザに返答する
- ユーザが複数選手一覧をタップしたら、botはその選手の情報をRDBから取得してユーザに返答する
- 対象選手に関する最新ニュースも併せて返答する
- 選手名検索では異体字を考慮する(斎藤が検索されたとき、斉藤と斎藤もOR検索する。山崎が検索されたとき、山﨑もOR検索する など)
以下のLINE-botを拝見して影響を受け、開発着手しました。
こちらのBリーグ選手情報botと本botで異なる点は以下となりました。
- スクレイピング対象のウェブサイトと構造が異なる
- 開発言語をpythonに対してnode.jsとした
- データ格納場所をGoogleスプレッドシートに対してRDB(heroku postgres)とした
- LINE-botサーバをGoogle Apps Scriptに対してherokuとした
- 選手名検索機能を追加した
- LINE flex messageを使用してみた
LINEアカウントが登録されたLINEインストール済みのすべてのデバイスで使えます。
※ただし一部デバイス(PC版, Apple Watch版など)だと、複数選手検索hit時の表示が制限されます。
以下からLINE友達追加してご利用ください!
※ちなみに、botが誰と友達になっているかは私からは分かりません。安心してご利用ください。
MIT