SlackBot에서 기차 운행 정보를 슬래시 명령으로 알립니다.
7793 단어 슬랙GoogleAppsScriptslackbot
개요
슬래시 커맨드를 사용하여 커맨드를 친 타이밍의 운행 정보를 통지한다.
절차
1. 우선 실장
TrainInfo.gsvar slackAccessToken = PropertiesService.getScriptProperties().getProperty('SlackAccessToken');
function doPost(e) {
var slackApp = SlackApp.create(slackAccessToken);
// 対象チャンネル
var channelId = "#_info_train";
var options = {
// 投稿するユーザーの名前
username: "TrainInfo",
icon_emoji: ":train:",
}
//電車遅延情報をJSON形式で取得
var json = JSON.parse(UrlFetchApp.fetch("https://rti-giken.jp/fhc/api/train_tetsudo/delay.json").getContentText());
var name="名古屋本線";
var company="名古屋鉄道";
// 投稿するメッセージ
var currentDate = new Date();
var date = Utilities.formatDate( currentDate, 'Asia/Tokyo', 'M月d日 HH時mm分');
var message = "◆電車遅延情報 (" + date + "現在)\n 電車遅延情報はありません。";
for each(var obj in json){
if(obj.name === name && obj.company === company){
message ="<@U8U7H4KE0|yuina> \n ◆電車遅延情報 (" + date + "現在)\n" + company + name + "が遅延しています。\n詳細はこちら→ http://top.meitetsu.co.jp/em/";
}
}
var res = {"text": message};
return ContentService.createTextOutput(JSON.stringify(res)).setMimeType(ContentService.MimeType.JSON);
}
이전과 같은 소스를 기반으로 토큰 관련 및 return을 변경하고 있습니다.
나중에 POST를 받고 처리하기 위해 함수를 doPost
로 변경했습니다.
2.GAS의 공개 설정
공개 → 웹 애플리케이션으로 도입
웹 애플리케이션으로 게시하고 URL을 복사해 둡니다.
이 후 slackApp 설정에서 사용합니다.
3.SlackApp 설정
마지막으로 만든 slackapp에서 슬래시 명령을 사용할 수 있도록 설정합니다.
Slash Commands에서 Create New Command
를 클릭합니다.
Command와 RequestURL을 입력.
RequestURL은 방금 복사한 URL을 입력.
완제품
/traininfo_now
보내면 ...
라는 느낌으로 내주게 되었습니다.
Reference
이 문제에 관하여(SlackBot에서 기차 운행 정보를 슬래시 명령으로 알립니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yuina1056/items/617066e09426194bcd71
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
1. 우선 실장
TrainInfo.gs
var slackAccessToken = PropertiesService.getScriptProperties().getProperty('SlackAccessToken');
function doPost(e) {
var slackApp = SlackApp.create(slackAccessToken);
// 対象チャンネル
var channelId = "#_info_train";
var options = {
// 投稿するユーザーの名前
username: "TrainInfo",
icon_emoji: ":train:",
}
//電車遅延情報をJSON形式で取得
var json = JSON.parse(UrlFetchApp.fetch("https://rti-giken.jp/fhc/api/train_tetsudo/delay.json").getContentText());
var name="名古屋本線";
var company="名古屋鉄道";
// 投稿するメッセージ
var currentDate = new Date();
var date = Utilities.formatDate( currentDate, 'Asia/Tokyo', 'M月d日 HH時mm分');
var message = "◆電車遅延情報 (" + date + "現在)\n 電車遅延情報はありません。";
for each(var obj in json){
if(obj.name === name && obj.company === company){
message ="<@U8U7H4KE0|yuina> \n ◆電車遅延情報 (" + date + "現在)\n" + company + name + "が遅延しています。\n詳細はこちら→ http://top.meitetsu.co.jp/em/";
}
}
var res = {"text": message};
return ContentService.createTextOutput(JSON.stringify(res)).setMimeType(ContentService.MimeType.JSON);
}
이전과 같은 소스를 기반으로 토큰 관련 및 return을 변경하고 있습니다.
나중에 POST를 받고 처리하기 위해 함수를
doPost
로 변경했습니다.2.GAS의 공개 설정
공개 → 웹 애플리케이션으로 도입
웹 애플리케이션으로 게시하고 URL을 복사해 둡니다.
이 후 slackApp 설정에서 사용합니다.
3.SlackApp 설정
마지막으로 만든 slackapp에서 슬래시 명령을 사용할 수 있도록 설정합니다.
Slash Commands에서
Create New Command
를 클릭합니다.Command와 RequestURL을 입력.
RequestURL은 방금 복사한 URL을 입력.
완제품
/traininfo_now
보내면 ...
라는 느낌으로 내주게 되었습니다.
Reference
이 문제에 관하여(SlackBot에서 기차 운행 정보를 슬래시 명령으로 알립니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yuina1056/items/617066e09426194bcd71
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(SlackBot에서 기차 운행 정보를 슬래시 명령으로 알립니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yuina1056/items/617066e09426194bcd71텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)