LINE Botを作成してみた

Botとは

Botとは一定のタスクや処理を自動化するためのアプリケーションやプログラム のとです。語源はなんとなく想像がつきますが、人に代わって作業を行う機械(ロボット)に由来しています。Twitterで自動的につぶやきを行うBotやピザの注文するときにチャットでやり取りをするBotなどがあります。 一般的には複雑な作業ではなく反復作業などの 人間にとって単純作業を肩代わりします。 またセキュリティ界隈ではコンピュータを外部から遠隔操作するためのコンピュータウイルスのことをBotということもあります。

今回作成するBot

今回はLINEのサービスの一つである、Messaging APIを利用して、ユーザーの送ったメッセージをリピートするLINE Botを作成してみたいと思います。

作成方法

基本的なBot作成の流れ

  1. チャネル作成
    1. コンソールログイン
    2. 開発者として登録する(初回時のみ)
    3. 新規プロバイダーを作成する
    4. チャネルを作成する
  2. ボットを作成する
    1. チャネルアクセストークンを発行する
    2. Webhook URLを設定する
    3. LINE公式アカウントを友達追加する

公式

https://developers.line.biz/ja/docs/messaging-api/getting-started/#%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E3%81%AE%E4%BD%9C%E6%88%90

手順詳細は上記の公式ページを参考にしてください。

やってみる

サンプルボットとしてユーザーが送信した内容をリピートするボットを作成します。

下記は完成したBotです。

完成形

このように、ただただ発言した内容をそのまま繰り返します。ずっとやっていたら少しうざくなってきます

まず、作成方法1のチャネル作成の要領で今回のボット用のチャネル作成を行います。

チャネルを作成したら Herokuアカウントを作成します。Herokuとは PaaS (Platform as a Service) というサービス形態のWebアプリケーションの公開を簡単に行えるようにするサービスです。

Heroku参考

https://www.sejuku.net/blog/7858

今回のBot作成ではこのサービスを利用します。

Herokuアカウントを作成したら以下の手順ですBotのデプロイをおこないます。

Developsコンソール ( Basic Settingsタブ 、Messaging APIタブ)から、チャネルシークレットとチャネルアクセストークンを控える

チャネルシークレット
チャネルアクセストークン

➁ GitHubのsample-spring-boot-echoディレクトリのREADMEファイルに含まれる[Deploy to Heroku]ボタンをクリックする

github画面

➂Herokuにログインし[App name]、[LINE_BOT_CHANNEL_TOKEN]、[LINE_BOT_CHANNEL_SECRET](手順1で控えた値)の各フィールドに入力し、[Deploy app]をクリック する

Heroku画面

④ ➂完了後、DevelopsコンソールのMessaging APIタブをクリック

⑤「https://{HEROKU_APP_NAME}.herokuapp.com/callback」というURL形式で、Webhook URLをコンソールに入力する

注:{HEROKU_APP_NAME}は手順3で指定したアプリ名

⑥[Webhookの利用]を有効にする 

注:デフォルトではオフ

⑦Messaging APIタブにあるQRコードを読み取って、ボットが関連づけられているLINE公式アカウントを友だち追加

⑧作成したアカウントにLINEでテキストメッセージを送り、同じメッセージが返ってくることを確認

LINE Bot作成にあたり参考にしたサイト

https://first-contact.jp/linebot

https://qiita.com/yoshizaki_kkgk/items/bd4277d3943200beab26

まとめ

今回、初めてのLINE Botを作成を通し、LINE Botがどのように作成されているのかなんとなく理解できたような気がします。アイデア次第でもっと面白い機能を実装できそうです。また、今回初めてHerokuというサービスに触れました。まだ、理解しきれていませんが…とても便利そうなのでまた触れてみたいです。

次のステップとして自然言語処理などを取り入れたBot作成をやってみたいと思いました。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)