🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Hangouts

Googleが提供するサービス。モバイル向けにもAndroidとiOSのソフトウェアが提供されています。 グループでのチャット、インターネット電話、ビデオ電話などが利用可能です。 Googleドライブとも連携しており、遠方との共同作業が可能になっています。

Q&A

解決済

1回答

3932閲覧

Hangouts Chat botsでオウム返しを実現させたい

退会済みユーザー

退会済みユーザー

総合スコア0

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Hangouts

Googleが提供するサービス。モバイル向けにもAndroidとiOSのソフトウェアが提供されています。 グループでのチャット、インターネット電話、ビデオ電話などが利用可能です。 Googleドライブとも連携しており、遠方との共同作業が可能になっています。

0グッド

0クリップ

投稿2019/04/23 21:23

編集2019/04/23 23:04

前提・実現したいこと

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初心者、プログラム未経験のため、対策がわかりません。
どこかの設定が抜けているのではと思いますが、それすらもわかりません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

自己解決しました。
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から返ってくる
メッセージをスプレッドシートより参照を行いたい。
については、引き続き質問窓口を変えてご相談させていただきます。

投稿2019/04/23 23:52

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問