見出し画像

挨拶文を自動生成するAPIを書いて公開してみた

毎朝チームにデイリーのタスクを書いてもらうスレッドを起こしている。
始業時に自動投稿されるので、そこにぶら下げて書いてもらうのだが、このスレッドの挨拶がなんとも味気ない。

○月☓日 朝会スレッド
おはようございます
本日もよろしくお願いします

これではチームメンバーも毎朝楽しくデイリータスクをリプライする気がしないのではないか?
この挨拶文をもう少し、バリエーションのあるものにできないかと思った。
もちろん自動生成したい。

ということで作ってみた。

https://greeting.buzzops-labo.link/

APIにパラメータを渡してPOSTすれば

$ curl -X POST -H  "x-api-key:{APIキー}" https://greeting.buzzops-labo.link -d '{"time_slot":1,"casualness":1,"area_code":130010}'

自動生成されたメッセージを返します。

皆様、おはようございます
晴間を期待しましょう
今日もエンジンかけていきましょう
よろしくお願いします

日付から時候の挨拶っぽいフレーズや、天気にまつわるフレーズを生成する。天気については気象庁のAPI(っていうかただのJSONだよね?)から取得しています。あとは予め用意したパターンのフレーズをランダムに組み合わせているだけ。

皆様、おはようございます ← 呼称フレーズ+挨拶フレーズ
晴間を期待しましょう ← 曜日や季節または天気にまつわるフレーズ
今日もエンジンかけていきましょう ← なんか鼓舞するフレーズ
よろしくお願いします ← 結び

パラメータ

指定可能なパラメータは3つです。

  • 時間帯(time_slot):現状はmorning=1のみ

  • 地域(area_code): 気象庁のAPIを叩く際の地域コード。
    東京23区なら13010

  • くだけ具合(casualness): フレーズのカジュアルさを1~5で選ぶ

職場の雰囲気もあるので、くだけ具合を設定できるようにしておきました。
casualness=4だと、例えばこんな感じ

みんなー、ベリーグッドモーニング
失敗は成功のもと
今日という一日も張り切ってまいりましょーう
(たぶん)

MAXの5だと更に、くだけて

野郎ども!、O-HA-YO!!
焼肉の焼き加減にもっと自由を!
Todayもパッパラパーと
(ご愛嬌)

かなりチャランポランな管理職っぽさが出ていますが嫌いじゃないです。
BOTとわかっていても、呆れてリプライしたくなるのは私だけでしょうか?

構成

AWS Lambda + API Gatewayという構成です
自作APIを公開するのは初めてでしたがこのあたりの記事が非常に参考になりました。DevlopersIOさんいつもお世話になっております。

開発環境はserverlessフレームワークです。
おかげでふんだんにローカルでの試行錯誤をしながら進めることができました。

挨拶のフレーズ

Google スプシで管理しています。
簡易データベースも考えましたが、フレーズを考えるにあたり水平思考するのにスプレッドシートは偉大でした。やっぱりね。

挨拶フレーズ スプシ


下の記事を参考にしてGCPのSheets API  |  Google DevelopersでMap化してます。

GoogleスプレッドシートからNode.jsでシフトデータを読み出す方法 | www.twilio.com

まとめ

本番環境(職場)導入はまだなのでユーザーの反応はこれから。
ランダム生成されたBOTの挨拶に「クスッ」なのか「イラッ」なのか、バリエーションが少なくて飽きられるか楽しみです。

APIキー

最後まで読んでくださった方のためにAPIキーを公開しておきます。
一日の実行回数には制限かけていますが、お試しください。

api key: knayp3o9bQ9ZFuwoA5zcv6enpYeuS682wKBHFgLg


この記事が気に入ったらサポートをしてみませんか?