ぷらっとエイジア〜

シンガポール留学してた筆者のプログラミング記&海外旅行記

Google Apps Script(GAS)で女性か男性(おねえ)か当てるクイズを出すLINEBotを作ってみた(一部コード掲載)

ども、ぷらあじです。

色んな国 へ行ってるとびっくりする人に会いますよね。

うわあ美人だなぁと思ってた女の子が実は男だったていうのちょいちょいあります。

特にタイだとそうゆう人たちを多く見かけます。

そこでこの度、LINEBotで女性か男性か当てるクイズを開発してみました。

気になる方や興味のある方は是非遊んでみて下さい!

→複数人で同時に遊ぶと問題が順番通り行かない不具合が発生(問題自体は回答できる)。対応中

f:id:purasia8:20190327210147j:plain

クイズ@女性or男性?のLINEBotについて

Botでの遊び方

注:複数人で同時に遊ぶと問題が順番通り行かないが問題自体は回答できる、対応中)

対話形式で答えてもらいますが、

基本私の方で用意したテキストメッセージをタップしてくれればいいので、難しい操作は一切なし!

↓ (ボタンテンプレートで)f:id:purasia8:20190327142049j:plain

ボタンテンプレートの実装

今回の問題にはボタンテンプレートを使ってみました。

LINE@公式にも書いてありますが、私は下記のように記述しました。

//ボタンテンプレートの例(+テキスト)
var messages = [
{
"type": "text",
"text": name
},
{
"type": "template",
"altText": "クイズを続けますか?",
"template": {
"type": "confirm",
"actions": [
{
"type": "message",
"label": CONTINUE_YES,
"text": CONTINUE_YES
},
{
"type": "message",
"label": CONTINUE_NO,
"text": CONTINUE_NO
}
],
"text": "次の問題へいきますか?"
}
}
]
//返信設定
var Rurl = 'https://api.line.me/v2/bot/message/reply';
var res = UrlFetchApp.fetch(Rurl, {
'headers': {
'Content-Type': 'application/json; charset=UTF-8',
'Authorization': 'Bearer ' + LINE_ACCESS_TOKEN,
},
'method': 'post',
'payload': JSON.stringify({
'replyToken': reply_token,
'messages': messages,
}),
});

開発中起きたエラーとか困ったこと

Botからリプライがなく、ログが一切引っかからなく出ない!

ログに一切引っかからなかった!try-catchやドキュメントのログファイル使っても!

右往左往してやたら時間がかかりました汗

上記の原因とエラーメッセージ確認箇所の発見

原因:Switchのcaseにしてた変数が使われてなかった!

f:id:purasia8:20190403130223p:plain

公開する前にGAS側でエラーが出ないのはホント不便(ToT)

Visual StudioC言語とかC#で開発してた時はこんな苦労なかったのに...

後日、判明したもっと早く分かりやすくエラーを見つけられるページがを発見!!

Apps Script Dashboardの中にコンパイルエラーの記載あり!

注:console.logなら出るがLogger.logでは出ない。f:id:purasia8:20190403130219p:plain

参考:https://okawa.routecompass.net/gas-log/

クイズ例

以下開発時のプレビューです↓

f:id:purasia8:20190327135720j:plain

f:id:purasia8:20190327135423j:plain

※↑あくまで開発段階です

f:id:purasia8:20190327135419j:plain

ちなみに

上の写真の子は男性です。

なんでもタイで女優をやってるらしいです。名前はクイズの正解の後に発表しますので気になる方は是非やってみて下さい。

このLINEBotの友達追加の案内(注意有

我ながら女子か男子か迷う写真をチョイスしたので楽しめると思います。

ぜひ遊んでみて下さい!

注:複数人で同時に遊ぶと問題が順番通り行かないが問題自体は回答できる、対応中)

友達追加の登録はこちらからお願いします。↓

友だち追加

QRコードはこちら↓

あとがき

作ってて思ったのが、TV番組の採用!フリップNEWSでやってたタカの企画に似てる気が...笑

あとよろしければ、下記URLからこのLINEBotに対するアンケートに答えてくれると幸いです。

(1分程度で終わります)

クイズのフィードバック

他にも開発途中のLINEBotがあるので今起きてる不具合は後日対応します。

おしまい