質問をすることでしか得られない、回答やアドバイスがある。

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

ただいまの
回答率

90.01%

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

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 682
退会済みユーザー

退会済みユーザー

前提・実現したいこと

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

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

check解決した方法

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 90.01%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる