先日の Ruby 会議 2019 で音楽好きの同志 あらたま(@ar_tama)さん が Ruby でニュース検索 Slack Bot を作った話で LT をしていました。
好きなアーティストの来日公演を見逃さないために”いい感じに”情報 push してくれる Bot が欲しかったという話で、僕も公演情報を見逃して涙することがあり共感しかありません。(現状、常に手動巡回)
せっかくなので真似して手を動かしながら対策を考えたかったのと、ニュース検索 Bot が GW の素振りによさそうだったので定期実行はひとまず無しにして、Go で Bing News Search API を叩いて返す CLI ツールをざっくり作ってみた。
こんな感じ。
検索対象単語を登録・削除し、 Bing News Search API を叩いて整形して出力する単純な CLI ツール。これで一瞬で欲しいニュースが一覧で見られて捗るってもんです。(てか、ロイ・エアーズの緊急搬送これで知った。大丈夫かロイじいさん!)
LT で紹介されていた Bing News Search API は今まで使ったことがなかったので試してみたけれど、3,000 無料トランザクション/月で、API Key を含めて REST API を叩くだけの簡単なもので、参考実装も Ruby, Go, C#, Java, PHP, Python, Node.js のサンプルコードがありパパッと組み込めるのが良かった。別に SDK もあるらしい。
このCLIをベースにサーバーレスで動かす実装を追加して Slack Bot 化していきます。
ところで、WEB 開発の素振りネタに悩むことが時々あったけれど、登録単語で 検索系 API を叩いて表示するツールは TODO アプリと同様にコンパクトで出力先も多数考えることができるし、実装も色々幅が考えられるので今後も素振りに使っていきたい。
おすすめでやんす。
コードはこちら
kzkick2nd/gonews-cli: Find articles from Bing News with registered keywords.