質問: ### 前提・実現したいこと Hangouts Chat botsでオウム返しを実現させたい https://webird-programming.tech/archives/624 を参考にテストでオウム返しが行えるbotの作成をしています。 最終的な形で実現させたいこと・・・・ botにメッセージを送信、 送ったメッセージによって、botからは違ったメッセージが返ってくる。 たとえば・・・・ 『help』と送信側がメッセージを送ったら、botからは『どうされましたか?』と返答 『こんにちは』と送信側がメッセージを送ったら、botからは『お疲れ様です。〇〇さん』と返答 のような、botを実現させたい。 また、実現可能なのかわかりませんが、送ったメッセージによって、botから返ってくる メッセージをスプレッドシートより参照を行いたい。 ### 発生している問題・エラーメッセージ botを公開のち、botに対してメッセージを送りますが、返答がありません。 ※上記、最終的な形を実現させる以前の問題で検証がうまくいっておりません。 エラーメッセージ TypeError: undefined からプロパティ「message」を読み取れません。(行 6、ファイル「コード」)表示しない ### 該当のソースコード コード.gs function myFunction() { } function onMessage(event) { return {text: "You said: " + event.message.text}; } --- appsscript.json { "timeZone": "Asia/Tokyo", "dependencies": { }, "exceptionLogging": "STACKDRIVER" } ### 試したこと GAS初心者、プログラム未経験のため、対策がわかりません。 どこかの設定が抜けているのではと思いますが、それすらもわかりません。
回答: 自己解決しました。 https://qiita.com/tarosaiba/items/a1ba05cbfd97b708e0e6 を参考にしております。 コード-------- コード.gs /** * Responds to a MESSAGE event in Hangouts Chat. * * @param {Object} event the event object from Hangouts Chat */ function onMessage(event) { var name = ""; if (event.space.type == "DM") { name = "You"; } else { name = event.user.displayName; } var message = name + " said \"" + event.message.text + "\""; return { "text": message }; } /** * Responds to an ADDED_TO_SPACE event in Hangouts Chat. * * @param {Object} event the event object from Hangouts Chat */ function onAddToSpace(event) { var message = ""; if (event.space.type == "DM") { message = "Thank you for adding me to a DM, " + event.user.displayName + "!"; } else { message = "Thank you for adding me to " + event.space.displayName; } if (event.message) { // Bot added through @mention. message = message + " and you said: \"" + event.message.text + "\""; } return { "text": message }; } /** * Responds to a REMOVED_FROM_SPACE event in Hangouts Chat. * * @param {Object} event the event object from Hangouts Chat */ function onRemoveFromSpace(event) { console.info("Bot removed from ", event.space.name); } ---- appsscript.json { "timeZone": "America/Los_Angeles", "dependencies": { }, "exceptionLogging": "STACKDRIVER", "chat": {} } 最終的な形で実現させたいこと・・・・ botにメッセージを送信、 送ったメッセージによって、botからは違ったメッセージが返ってくる。 たとえば・・・・ 『help』と送信側がメッセージを送ったら、botからは『どうされましたか?』と返答 『こんにちは』と送信側がメッセージを送ったら、botからは『お疲れ様です。〇〇さん』と返答 のような、botを実現させたい。 また、実現可能なのかわかりませんが、送ったメッセージによって、botから返ってくる メッセージをスプレッドシートより参照を行いたい。 については、引き続き質問窓口を変えてご相談させていただきます。