見出し画像

LINE Messaging API でゲーム攻略BOT

きっかけ

Botの基本的な応対をもっと自動化させてなおかつ便利なのって何だろう?っとなった時に「ゲームの攻略はどうだろう?」という声が上がったのでゲームの攻略ボットを作ってみた。

インフラストラクチャー

必要なもの

・クレジットカードが連携されているAWSアカウント
LINE developersのチャンネルアカウント(LINEのアカウント)

AWSでのインフラ

今回はLINE攻略BOTという新しいものなのでインフラも新しいもので!
という事なのでEC2を使わずLambdaでサーバレス環境で行なっています。

使っているAWSのサービスは下記の内容になります。

・Route53
 LINE側でリクエストを投げる先を設定に使用

・CloudFront
・WAF
 POSTとGET意外リクエストを受け付けないよう制御に使用

・API GateWay
 Lamndaの付け替えをここで簡易的に行うために使用

・Lamnda(Python3.6)
 今回EC2の代わりに使用 流行りのサーバーレス

・CloudWatch
 リクエストのログやElasticsearchのログを出力

・Elasticsearch
 攻略データやLINEからのログなど溜め込む用

・s3
 データ保管庫

フロー

1. LINEからデータが飛んでくる
2.CloudFront→API GateWay→Lambda
3.Lambdaで文字の不要な形式を判定もしくは大文字小文字の文字列の整形を行う
4.整形が終わったらElasticsearchにリクエストが行きkuromojiの形態素解析を使い全文検索
5.結果の有無に関わらずリクエストを返信

3の制御の段階でコマンドなり正規の表現に修正したりとクレンジングを行うとこが一番時間がかかる箇所かと思います。

できた内容

キャラ名 コマンドor技名をうつとキャラクターの技や類似する内容が一斉にでる。

LINE APIでReplyAPIPushAPIを同時に使用する事で違うUIに情報を持たせて返す事が可能になります。UIの工夫でより良いBOT開発が可能になります。 

作ってて思った事

企業の問い合わせやマニュアルで対応できそうな内容はほとんとBOTで可能ではないか?

他にも時間だけかかりお金がなかなか取りづらい見積もりなど、ある程度の初期段階まではBOTで可能ではないか?

その他にもお金が本来発生し暗黙の了解でお金を取れない企業間の仕事をBOTで対応すれば24時間いつでも知る事ができ便利ではないか!

と思ったがまだまだBOTへの受け入れへのハードルが高く一部ベンンチャーや大手の一部しか実装してないところを見ると中小くらいなら人件費の方がBOTの構築費や維持費より安いので応対が人では足りないところが向いているのかな?と思うところ。

蛇の足

※鉄拳7 FRとその開発元株式会社バンダイナムコエンターテインメントはこのサービスに一切関与しておりません。

WalkerIndustries
+++++++++++++++++++++++++++++++++++++++++++++++++++

Walker Industries LCC
PROFESSIONAL OF AMAZON WEB SERVICE.
WEB SYSTEM DEVELOPMENT
https://www.walker-industries.co.jp/

導入から運用までのスピード、多様な柔軟性、最新のサービス、
目的に合わせた環境構築を提供します。

AWS(Amazon Web Services)を得意とするエンジニアチームの為、迅速・柔軟な対応が可能です。

運用負担の軽減、急激なトラフィックに耐えうる設計、固定資産から経費計上化、etc... AWS運用・構築はお任せ下さい。


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