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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Google Apps Script

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

Slack

Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。

Q&A

解決済

1回答

733閲覧

Gas×Slackアプリで、送信すると連続で

sakurase

総合スコア14

Google Apps Script

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

Slack

Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。

0グッド

0クリップ

投稿2020/04/03 09:56

javascript

1function myFunction1() { 2 3 // 日付取得、フォーマット整形 4var currentDate = new Date(); 5var weekday = currentDate.getDay(); 6var date = Utilities.formatDate( currentDate, 'Asia/Tokyo', 'M月d日 HH時mm分'); 7 8// 祝日は実行させない 9if (weekday == 0 || weekday == 6) { 10 return; 11} 12var calendar = CalendarApp.getCalendarById('ja.japanese#holiday@group.v.calendar.google.com'); 13if (calendar.getEventsForDay(currentDate, {max: 1}).length > 0) { 14 return; 15} 16 17 var now = new Date(); //現在日時を取得 18 var time = Utilities.formatDate(now,'Asia/Tokyo','yyyy/MM/dd'); //取得した現在日時を指定した表示形式に変換 19 //占い情報のJSONデータを取得 20 var response = UrlFetchApp.fetch("http://api.jugemkey.jp/api/horoscope/free/"+time); 21 var json=JSON.parse(response.getContentText()); 22 var furtune = json["horoscope"][time]; 23 for(var s=0; s<12; s++){ 24 var sign = '星座 --'+furtune[s]["sign"]; 25 var rank = 'ランキング --'+furtune[s]["rank"]; 26 var content = '占いの内容 -- ' + furtune[s]["content"]; 27 var item = 'ラッキーアイテム -- ' + furtune[s]["item"]; 28 var money = '金運(5段階) -- ' + furtune[s]["money"]; 29 var total = '総合運(5段階) -- ' + furtune[s]["total"]; 30 var job = '仕事運(5段階) -- ' + furtune[s]["job"]; 31 var color = 'ラッキーカラー -- ' + furtune[s]["color"]; 32 var love = '恋愛運(5段階) -- ' + furtune[s]["love"]; 33 var contents = sign + '\n' + rank + '\n' + content + '\n' + total + '\n' + money + '\n' + job + '\n' + love + '\n' + item + '\n' + color; 34 35 //Logger.log(contents); 36 var data={ 37 "username":"占いアプリ", 38 "text":contents, 39 'icon_emoji' : ':icon:', 40 41 }; 42 43 var options = 44 { 45 "method" : "POST", 46 'contentType': 'application/json', 47 'payload' : JSON.stringify(data) 48 }; 49 50 // SlackのIncoming WebhookのURLを取得して入力 51 UrlFetchApp.fetch("webhook-URL", options); 52 }; 53} 54

わからないこと
上記スクリプトを起動すると、Slackに対して占い結果は飛ぶのですが、このままだと12回も通知が飛んでしまいとてもうるさいので、一回でまとめて各星座の占い結果を送ることができないでしょうか。
その際に、スニペットみたいに折り畳んで結果を表示できると尚嬉しいです。
注文が多くてすみません。

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

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

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

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

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

guest

回答1

0

ベストアンサー

javascript

1function myFunction1() { 2 3 // 日付取得、フォーマット整形 4var currentDate = new Date(); 5var weekday = currentDate.getDay(); 6var date = Utilities.formatDate( currentDate, 'Asia/Tokyo', 'M月d日 HH時mm分'); 7 8// 祝日は実行させない 9if (weekday == 0 || weekday == 6) { 10 return; 11} 12var calendar = CalendarApp.getCalendarById('ja.japanese#holiday@group.v.calendar.google.com'); 13if (calendar.getEventsForDay(currentDate, {max: 1}).length > 0) { 14 return; 15} 16 17 var now = new Date(); //現在日時を取得 18 var time = Utilities.formatDate(now,'Asia/Tokyo','yyyy/MM/dd'); //取得した現在日時を指定した表示形式に変換 19 //占い情報のJSONデータを取得 20 var response = UrlFetchApp.fetch("http://api.jugemkey.jp/api/horoscope/free/"+time); 21 var json=JSON.parse(response.getContentText()); 22 var furtune = json["horoscope"][time]; 23 var contents - ""; 24 for(var s=0; s<12; s++){ 25 var sign = '星座 --'+furtune[s]["sign"]; 26 var rank = 'ランキング --'+furtune[s]["rank"]; 27 var content = '占いの内容 -- ' + furtune[s]["content"]; 28 var item = 'ラッキーアイテム -- ' + furtune[s]["item"]; 29 var money = '金運(5段階) -- ' + furtune[s]["money"]; 30 var total = '総合運(5段階) -- ' + furtune[s]["total"]; 31 var job = '仕事運(5段階) -- ' + furtune[s]["job"]; 32 var color = 'ラッキーカラー -- ' + furtune[s]["color"]; 33 var love = '恋愛運(5段階) -- ' + furtune[s]["love"]; 34 contents += sign + '\n' + rank + '\n' + content + '\n' + total + '\n' + money + '\n' + job + '\n' + love + '\n' + item + '\n' + color; 35 } 36 //Logger.log(contents); 37 var data={ 38 "username":"占いアプリ", 39 "text":contents, 40 'icon_emoji' : ':icon:', 41 }; 42 43 var options = { 44 "method" : "POST", 45 'contentType': 'application/json', 46 'payload' : JSON.stringify(data) 47 }; 48 // SlackのIncoming WebhookのURLを取得して入力 49 UrlFetchApp.fetch("webhook-URL", options); 50}

1回にまとめるところだけ。
おりたたみは書式がわからないので。

投稿2020/04/04 12:36

papinianus

総合スコア12705

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

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

sakurase

2020/04/17 04:40

折り畳み書式は、Webhookを使ってだと実現できないとのことで、e-mailアプリを使って解決することができました ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問