3
3

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 5 years have passed since last update.

秘書BOTのキャラを変えてみた

Last updated at Posted at 2018-05-20

完成物

初回の中間的要件にある

「ヨハネ,召喚」って言ったら,秘書がヨハネ様に切り替わる

という機能がついに実現しました・・・!
前回の投稿からだいぶ時間がかかってしまったのは

  • ところどころバグってたので,その不具合修正してた(今回は割愛)
  • 実現する方法に結構悩んでた(なんやかんやでデータベースを新規追加)
  • プログラムにべた書きしてたセリフをデータベースに移行した

というのが主な理由です.
今実装されているセリフがランダムに何か返答してくれるランダム返答が↓になります.

実際にスケジュールを取得するセリフも変えてみました.

開発環境

主なお話

データベースの環境構築と簡単なセリフ変化のやり方です

現在の実装完了機能

  • 文字を送信したら,ランダムで何か返事してくれる
  • 「スケジュール」と送信したら,今日から1週間のスケジュールを教えてくれる
    • ベースはGoogleカレンダー
    • 当日にイベントがあったら朝に通知してくれる
  • 「ヨハネ,召喚」って言ったら,秘書がヨハネ様に切り替わる(キャラが変わる)←new!

今回の作業

データベースの環境構築

今回までデータベースを導入してなかったので,まずはここから.
今回から新たにMariaDB(5.5.56)を使うことにします.
CentOS7系の標準DBがMariaDBになっているので採用しています.
とは言っても,mysqlをフォークしたDBになるので,基本的な使い方はmysqlと同じです.
以下のサイトを参考にして,リモートからMariaDBにログインできるようにしました.

構成の変更

DBを使ってセリフを管理するようになったので,全体的な構成も変更です.
今回の追加機能分だけ抽出すると下のような図になります(実際はGASが入ってきますが,今回は触ってないので割愛).
image.png
緑色が今回入って来たものになります.
以前まではLINEBOTのソースにセリフを直書きしましたが,今回からLINEBOTからDBにアクセスして,そこにあるセリフを取得してお話するようにしました.

ユーザーごとにキャラが設定されていて,それを使ってセリフを拾ってきます.
図のような特定の文字列を送信すると,ユーザーごとに設定されたキャラが更新され,取得するセリフが変化するようにしました.

3
3
0

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
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?