5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

enebularAdvent Calendar 2020

Day 21

enebularでウルトラソウルに洗脳されたlinebotをサクッと作ってみた

Last updated at Posted at 2020-12-21

#ハローenebular!
この記事はenebular Advent Calendar 2020の21日目の記事になります。
先日人生初LTということで「ゆるふわマシンラーニングvol.5」にて登壇させていただきました。
今回は、そこで学んだenebularとSunabaをハンズオンしてみました。

その際に登壇されていた方が同様の記事をすでに書かれていたので参考にさせていただきました。
かなり丁寧に手順を書いてくれているので、是非是非一度ご覧になってくださいね。

#完成デモ
##クソbotの爆誕
今回作ったのはline bot「ウルトラソウるbot」。
アイコンからただならぬクソbot感がしますね。
以前こんな記事を書いて以来、ウルトラソウル基準で考えるようになってしまいました。

##何言ってもウルトラソウルを絡めてくる
このbotは__何でもかんでもウルトラソウルに絡めてくるbot__です。
「ウ」「ル」「ト」「ラ」「ソ」のどれかで終わる言葉を言うと、全部ソウルにして返してきます。

それ以外の言葉を言うと煽ってきます。

#実装こまごま
##Enebular・SUNABA・Line Messaging APIの設定など
設定面は全面的にこちらの記事を参考にさせていただきました。
丁寧に解説していただいているおかげで、初心者でも1時間半ぐらいでクソbotを実装できました。
躓いたところも後述のSUNABAの実装だけで、Enebularはほとんどハマらずに使えました。
Enebularのnodeも種類が豊富だったので色々使い倒してみたいところです。

##SUNABAの実装
ここがあまり資料が無かったので備忘録的に書いておきます。
今回はユーザ入力の言葉の最後の文字を取り出して、それを返す必要がありました。
全体像はこのような感じです。
image.png

ノードの設定はこのような感じです。
正規表現が使えたので、$を使って判定ロジックを作りました。

返答側のノードはこちら。
ユーザ発話全体がultraに代入されるので、それを取り出すだけですね。
入力条件タブは「ここ何か入れないとダメなのかな・・・?」となってしばらくハマったので、「何も入れなくていいよ」ということを示すために念のため添付しています。

#最後に
JSON形式でAPIへPOSTする際に色んなお作法を間違えてハマってしまうことがよくありました。
そんなところを線をつなぐだけでbot一つ簡単に作れちゃうなんてすごいですよね。
Enebular、色々試してみたいと思います・・・!

5
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?