オウム返しBotは、入力されたメッセージをそのまま返すシンプルなBotです。この記事では、Google Apps Script (GAS) と LINEを使用して、10分程度でオウム返しBotを作成する方法をご紹介します。LINE botの基本設定は、こちらのリンク にて詳しく説明しています。
はじめに
オウム返しBotを作成する前に、LINEでチャネルアクセストークンを生成し、GASのスクリプトプロパティに設定する必要があります。これにより、BotとLINEプラットフォーム間の認証が可能になります。
LINEでチャネルを設定する
LINE Developersコンソールにアクセスし、新しいプロバイダとチャネルを作成します。
ここでチャネルアクセストークンを生成し、後で使用するためにメモしておきましょう。
Google Apps Scriptを設定する
Googleドライブに新しいスクリプトファイルを作成し、必要なコードを記述します。LINEからのリクエストを処理し、返信するための基本的な機能を実装します。
// LINE developersのメッセージ送受信設定に記載のアクセストークン
const LINE_TOKEN = PropertiesService.getScriptProperties().getProperty("LINE_TOKEN"); // Messaging API設定の一番下で発行できるLINE Botのアクセストークン
const LINE_URL = 'https://api.line.me/v2/bot/message/reply';
//ユーザーがメッセージを送信した時に下記を実行する
function doPost(e) {
const json = JSON.parse(e.postData.contents);
//replyToken…イベントへの応答に使用するトークン(Messaging APIリファレンス)
// https://developers.line.biz/ja/reference/messaging-api/#message-event
const reply_token = json.events[0].replyToken;
const messageId = json.events[0].message.id;
const messageType = json.events[0].message.type;
const messageText = json.events[0].message.text;
// 検証で200を返すための取り組み
if (typeof reply_token === 'underfined') {
return;
}
const option = {
'headers': {
'Content-Type': 'application/json; charset=UTF-8',
'Authorization': 'Bearer ' + LINE_TOKEN,
},
'method': 'post',
'payload': JSON.stringify({
'replyToken': reply_token,
'messages': [{
'type': 'text',
'text': messageText,
}],
}),
}
UrlFetchApp.fetch(LINE_URL,option);
return;
}
スクリプトプロパティにトークンを設定する
GASのスクリプトエディタから、[ファイル] > [プロジェクトのプロパティ] > [スクリプトプロパティ]にアクセスし、ステップ1で生成したチャネルアクセストークンを設定します。
Webアプリとしてデプロイ
スクリプトをWebアプリケーションとしてデプロイします。
この辺りはこちらのサイトで詳しく解説してます。
LINE DevelopersコンソールにそのURLをWebhook URLとして設定します。
Botのテスト
全ての設定が完了したら、LINEアプリからBotにメッセージを送信して、正しくオウム返しが行われるかをテストします。
Google Apps Script と LINE(Messaging API)を使ったオウム返しBot作ってみました!! https://t.co/sNmgxjDFll pic.twitter.com/Ld2RWwbCuE
— Maki@Sunwood AI Labs. (@hAru_mAki_ch) January 23, 2024
まとめ
以上が、Google Apps Script と LINEを使ったオウム返しBotの作成方法です。このシンプルなプロセスを通じて、LINE Botの基本的な構築方法を学ぶことができます。この知識を基に、さらに高度なBotを開発することも可能です。興味がある方は、ぜひ挑戦してみてください。
コメント