5分でつくるLINEBot

# はじめに
この記事では、プログラミング初心者でも5分でLINEBotが作れるように手順を極力簡単にしました。
LINEBot自作のとっかかりとして活用してください！

:::note
ライブラリを利用した[改良版](https://qiita.com/cog1t0/items/f6e832d54a7b0e692434)を作ったのでそちらの方がおすすめです。初心者向けのコードの解説もあります。
:::

# 前提
・Googleアカウントを持っていること
・[LINE Developers](https://developers.line.biz/ja/)にログインできること

# 手順
## 目次
1. LINE Developersにログインし、設定を行い、トークンを発行します
1. LINEBotのテンプレートをコピーし自分のGoogleフォルダに移します
1. GoogleAppScriptのコードにトークンを書き込んで、デプロイをします
1. デプロイすると発行されるURLをLINE Developersで設定します
1. オウム返しBotが完成！

という手順で、5分でできます！

## LINE Developersにログインし、設定を行い、トークンを発行します
[LINE Developers](https://developers.line.biz/ja/)にLINEのアカウントでログインします

![スクリーンショット 2022-05-15 0.33.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/2a0f327d-9d4a-2487-41e6-71010f240588.png)

適当な名前でプロバイダーを作成します
![スクリーンショット 2022-05-15 0.33.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/8452e972-1325-c43a-dbc9-2cd4d60897cd.png)

![スクリーンショット 2022-05-15 0.34.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/a60fc6ad-0728-930a-3937-399ce7c8ed4d.png)

MessagingAPIでチャンネルを作成します
![スクリーンショット 2022-05-15 0.34.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/c04425e2-d525-c1bd-6201-c043fffa7b0b.png)


チャンネルの必須項目を適当に埋めて作成します
![スクリーンショット 2022-05-15 0.35.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/f1c060d3-27f5-d5ca-8255-ba7b98c2e2cf.png)

![スクリーンショット 2022-05-15 0.35.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/4f651955-b322-3f39-0d98-9c193323520a.png)
![スクリーンショット 2022-05-15 0.36.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/d3f76200-8d0c-194a-82c8-5df33497a55a.png)

MessagingAPI設定から設定を行います
![スクリーンショット 2022-05-15 0.43.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/bbee39d4-8ed9-8849-3f3c-531e7ad8b49a.png)

設定するのは2つです
・応答メッセージをオフにする
・チャンネルアクセストークンを発行し、あとで使うのでコピーしておく
![スクリーンショット 2022-05-15 0.43.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/28f536a2-2537-1412-bf3e-0ff578e94896.png)

## LINEBotのテンプレートをコピーし自分のGoogleフォルダに移します
LINEBotのテンプレートを用意しているので [こちら](https://docs.google.com/spreadsheets/d/1xfGFCqGI_XCGYGe2FcoX4VG_Z_YbfFrEopK1G3Z53D8/edit#gid=0) を開いて、自分のフォルダにコピーします

![スクリーンショット 2022-05-15 0.48.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/eb95ea5e-6ca6-2e27-07c6-eaf83829c8ae.png)

![スクリーンショット 2022-05-14 19.57.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/d72c0402-e31b-ee81-2d31-16fe87e45ed4.png)

## GoogleAppScriptのコードにトークンを書き込んで、デプロイをします

:::note
これ以降は、コピーした自分のスプレッドシートで作業します
コピー元のスプレッドシートはもう利用しないので閉じてください
:::

スプレッドシートを開き、拡張機能 > Apps Scriptを開きます
![スクリーンショット 2022-05-14 19.57.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/80158186-b2bb-a101-c89e-bce54344f0e7.png)

さきほどの手順でコピーしたチャンネルアクセストークンを1行目に貼り付け、保存します
![スクリーンショット 2022-05-14 19.58.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/aee8e912-651d-cd30-db6b-9ff76aad78e8.png)

画面右上の「デプロイ」から「新しいデプロイ」を選択します
![スクリーンショット 2022-05-14 19.58.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/39c5ce0c-53e4-a955-1d54-1c64d0b90fc1.png)

左の歯車のアイコンを押し、「ウェブアプリ」をクリックします
![スクリーンショット 2022-05-14 19.59.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/234fbc3d-678e-9d7a-4425-120322c00dff.png)

以下のように設定して、デプロイを押します
「説明文」 => 適当に入力
「次のユーザーとして実行」 => 自分
「アクセスできるユーザー」 => 全員
![スクリーンショット 2022-05-14 19.59.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/5e891f07-b682-78c7-544b-ed9ee89dec59.png)


アクセスを承認をクリック
![スクリーンショット 2022-05-14 20.00.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/b7cf4a54-0eb3-6578-dd23-09960fb4e3ae.png)

アカウントを選択し
![スクリーンショット 2022-05-14 20.00.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/04d52934-1729-f7fa-c146-b67af5879635.png)

詳細をクリック
![スクリーンショット 2022-05-14 20.00.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/34f71886-242b-0cba-9f7a-46ee42f161ea.png)
ページへ移動
![スクリーンショット 2022-05-14 20.00.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/a5e89597-6788-b6bc-d5d2-8d90b2291fd1.png)

許可をクリック
![スクリーンショット 2022-05-14 20.00.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/0c393bb5-a512-fcbb-7087-e2815a296750.png)

これでデプロイ完了です
次で使うのでURLをコピーしてください
![スクリーンショット 2022-05-14 20.01.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/7849767e-89c4-3228-6eb0-b1a84b902a8e.png)

## デプロイすると発行されるURLをLINE Developersで設定します
再びLINE Developersに戻ります

Webhook URLを編集し、先ほどのURLを設定します
![スクリーンショット 2022-05-14 20.01.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/78186ca7-9fc8-d938-56cb-23db192e238f.png)
![スクリーンショット 2022-05-14 20.01.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/08175b8a-00f5-be0e-ed7e-63f974cce1aa.png)

検証を押して、成功と出たらOKです
![スクリーンショット 2022-05-14 20.01.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/ae44f53d-4c2b-1efe-20a8-cf894a741c90.png)

Webhookの利用をONにします
![スクリーンショット 2022-05-17 18.05.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/3a140b03-5c1b-6ba8-2667-423b3b1b3265.png)


以上で実装は完了です。
QRコードを読み込んでボットと友達になり、メッセージを送ってみるとそのまま返却してくれます

![スクリーンショット 2022-05-15 1.11.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/78faafc0-56f7-19a3-5abe-f9a89c1fc56a.png)

# ソースコードに変更を加えたら
ソースコードに変更を加えたら再度デプロイが必要です
![スクリーンショット 2022-05-17 18.04.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/aea2d645-60ee-2daf-a0d5-e4a617b9ad5d.png)

新バージョンを選択してデプロイ（URLは変更されないので、LINEDevelopersで操作は不要です）
![スクリーンショット 2022-05-17 18.04.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27192/7853aa22-806f-29a0-7605-e2bbcff8288c.png)



# 作成例
随時更新していきます