#oyasuminase

駆け出しオタクエンジニア

A3RT Talk APIを使ってお手軽に会話機能を実装する

先日チュートリアル通りにLINE botを作ったのですがオウム返しで面白くない。チャットボットAPIとかあるだろうし組み込んでみようかなと調べて「Talk API」を採用し実装してみました。

a3rt.recruit-tech.co.jp

メールアドレスだけで即登録できるのでめちゃ簡単です。

実装

def get_reply_message(text):
    client = pya3rt.TalkClient(A3RT_TALK_API_KEY)
    res = client.talk(text)

    # 正常終了以外はデフォルトメッセージを返却する
    if res['status'] != 0:
        return MESSAGE_REPLY_DEFAULT
    
    reply = res['results'][0]['reply']
    return reply

引数のメッセージをTalk APIに渡して結果を返却します。pya3rtというライブラリがあったので利用していますがエンドポイント叩くだけなのでrequestsでもお手軽に実装できると思います。

会話してみる

f:id:ppine:20200111020317p:plain

楽しい…!何か作ってこんなに嬉しいのは久しぶりです。まあ作ってはないけども。非常にコスパのいい開発でした。

一方でLINE botに関してはこれでもうほぼ満足かもしれないです。次は自分から話しかけるようにしてみようかな?