GoogleAppsScript로 서버가 필요없는 SlackBot 만들기 (후편)
3369 단어 슬랙slackbotGoogleAppsScriptgas
소개
「 Google AppScript로 서버가 필요없는 SlackBot 만들기 (전편) 」로부터의 계속이 됩니다.
후편에서는 전편에서 작성한 bot에 일기 예보를 통지하는 기능을 추가하겠습니다.
일기 예보 API
무료로 사용할 수 있으며 사용자 등록 등의 번거로움이 없다는 것
Livedoor Weather Web Service을 사용하기로 결정했습니다.
http://weather.livedoor.com/forecast/webservice/json/v1?city=
+ 地域のID
에서 액세스할 수 있습니다. 지역 ID는 API 공식 사이트에서 볼 수 있으므로 찾아보세요
GAS 작성
WeatherNotification.gs//初期化
var weatgerResponse = UrlFetchApp.fetch("http://weather.livedoor.com/forecast/webservice/json/v1?city=130010");
var weatherJson = JSON.parse(weatgerResponse.getContentText());
//今日の天気
function TodayWeatherMessage()
{
var message;
message = ":sunny: 今日の天気は *"+weatherJson["forecasts"][0]["telop"]+"* にゃ\n";
message += weatherJson["forecasts"][0]["image"]["url"]+"\n";
if(zeroIfNull(weatherJson["forecasts"][0]["temperature"]["max"]))message += "最高気温:"+weatherJson["forecasts"][0]["temperature"]["max"]["celsius"]+"℃\n";
if(zeroIfNull(weatherJson["forecasts"][0]["temperature"]["min"]))message += "最低気温:"+weatherJson["forecasts"][0]["temperature"]["min"]["celsius"]+"℃\n";
message +="```\n";
message +=weatherJson["description"]["text"]+"\n";
message +="```\n";
PostMessage("general",message);
}
//明日の天気
function YesterdayWeatherMessage()
{
var message;
message = ":sunny: 明日の天気は *"+weatherJson["forecasts"][1]["telop"]+"* にゃ\n";
message += weatherJson["forecasts"][1]["image"]["url"]+"\n";
if(zeroIfNull(weatherJson["forecasts"][1]["temperature"]["max"]))message += "最高気温:"+weatherJson["forecasts"][1]["temperature"]["max"]["celsius"]+"℃\n";
if(zeroIfNull(weatherJson["forecasts"][1]["temperature"]["min"]))message += "最低気温:"+weatherJson["forecasts"][1]["temperature"]["min"]["celsius"]+"℃\n";
PostMessage("general",message);
}
//nullチェックをする関数
function zeroIfNull(a) {
return a === '' ? 0 : a;
}
예로서 도쿄의 날씨를 얻고 있습니다.
오늘 날씨와 날씨 아이콘, 최저/최고 기온, 날씨 개황문을 표시하도록 했습니다.
다음날 날씨는 내일 날씨와 날씨 아이콘, 최저/최고 기온 표시
마무리
트리거를 설정하여 원하는 시간에 메시지를 보냅니다.
이미지의 원형 표시 버튼을 눌러 TodayWeatherMessage 및 YesterdayWeatherMessage 트리거를 추가합니다.
참고로, 우치보타는 오늘의 날씨는 5:30, 내일의 날씨는 19:30으로 설정하고 있습니다.
할 수 있었다!
Reference
이 문제에 관하여(GoogleAppsScript로 서버가 필요없는 SlackBot 만들기 (후편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/dotcat/items/6a46926019dde8a7630c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
무료로 사용할 수 있으며 사용자 등록 등의 번거로움이 없다는 것
Livedoor Weather Web Service을 사용하기로 결정했습니다.
http://weather.livedoor.com/forecast/webservice/json/v1?city=
+ 地域のID
에서 액세스할 수 있습니다. 지역 ID는 API 공식 사이트에서 볼 수 있으므로 찾아보세요GAS 작성
WeatherNotification.gs//初期化
var weatgerResponse = UrlFetchApp.fetch("http://weather.livedoor.com/forecast/webservice/json/v1?city=130010");
var weatherJson = JSON.parse(weatgerResponse.getContentText());
//今日の天気
function TodayWeatherMessage()
{
var message;
message = ":sunny: 今日の天気は *"+weatherJson["forecasts"][0]["telop"]+"* にゃ\n";
message += weatherJson["forecasts"][0]["image"]["url"]+"\n";
if(zeroIfNull(weatherJson["forecasts"][0]["temperature"]["max"]))message += "最高気温:"+weatherJson["forecasts"][0]["temperature"]["max"]["celsius"]+"℃\n";
if(zeroIfNull(weatherJson["forecasts"][0]["temperature"]["min"]))message += "最低気温:"+weatherJson["forecasts"][0]["temperature"]["min"]["celsius"]+"℃\n";
message +="```\n";
message +=weatherJson["description"]["text"]+"\n";
message +="```\n";
PostMessage("general",message);
}
//明日の天気
function YesterdayWeatherMessage()
{
var message;
message = ":sunny: 明日の天気は *"+weatherJson["forecasts"][1]["telop"]+"* にゃ\n";
message += weatherJson["forecasts"][1]["image"]["url"]+"\n";
if(zeroIfNull(weatherJson["forecasts"][1]["temperature"]["max"]))message += "最高気温:"+weatherJson["forecasts"][1]["temperature"]["max"]["celsius"]+"℃\n";
if(zeroIfNull(weatherJson["forecasts"][1]["temperature"]["min"]))message += "最低気温:"+weatherJson["forecasts"][1]["temperature"]["min"]["celsius"]+"℃\n";
PostMessage("general",message);
}
//nullチェックをする関数
function zeroIfNull(a) {
return a === '' ? 0 : a;
}
예로서 도쿄의 날씨를 얻고 있습니다.
오늘 날씨와 날씨 아이콘, 최저/최고 기온, 날씨 개황문을 표시하도록 했습니다.
다음날 날씨는 내일 날씨와 날씨 아이콘, 최저/최고 기온 표시
마무리
트리거를 설정하여 원하는 시간에 메시지를 보냅니다.
이미지의 원형 표시 버튼을 눌러 TodayWeatherMessage 및 YesterdayWeatherMessage 트리거를 추가합니다.
참고로, 우치보타는 오늘의 날씨는 5:30, 내일의 날씨는 19:30으로 설정하고 있습니다.
할 수 있었다!
Reference
이 문제에 관하여(GoogleAppsScript로 서버가 필요없는 SlackBot 만들기 (후편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/dotcat/items/6a46926019dde8a7630c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
//初期化
var weatgerResponse = UrlFetchApp.fetch("http://weather.livedoor.com/forecast/webservice/json/v1?city=130010");
var weatherJson = JSON.parse(weatgerResponse.getContentText());
//今日の天気
function TodayWeatherMessage()
{
var message;
message = ":sunny: 今日の天気は *"+weatherJson["forecasts"][0]["telop"]+"* にゃ\n";
message += weatherJson["forecasts"][0]["image"]["url"]+"\n";
if(zeroIfNull(weatherJson["forecasts"][0]["temperature"]["max"]))message += "最高気温:"+weatherJson["forecasts"][0]["temperature"]["max"]["celsius"]+"℃\n";
if(zeroIfNull(weatherJson["forecasts"][0]["temperature"]["min"]))message += "最低気温:"+weatherJson["forecasts"][0]["temperature"]["min"]["celsius"]+"℃\n";
message +="```\n";
message +=weatherJson["description"]["text"]+"\n";
message +="```\n";
PostMessage("general",message);
}
//明日の天気
function YesterdayWeatherMessage()
{
var message;
message = ":sunny: 明日の天気は *"+weatherJson["forecasts"][1]["telop"]+"* にゃ\n";
message += weatherJson["forecasts"][1]["image"]["url"]+"\n";
if(zeroIfNull(weatherJson["forecasts"][1]["temperature"]["max"]))message += "最高気温:"+weatherJson["forecasts"][1]["temperature"]["max"]["celsius"]+"℃\n";
if(zeroIfNull(weatherJson["forecasts"][1]["temperature"]["min"]))message += "最低気温:"+weatherJson["forecasts"][1]["temperature"]["min"]["celsius"]+"℃\n";
PostMessage("general",message);
}
//nullチェックをする関数
function zeroIfNull(a) {
return a === '' ? 0 : a;
}
트리거를 설정하여 원하는 시간에 메시지를 보냅니다.
이미지의 원형 표시 버튼을 눌러 TodayWeatherMessage 및 YesterdayWeatherMessage 트리거를 추가합니다.
참고로, 우치보타는 오늘의 날씨는 5:30, 내일의 날씨는 19:30으로 설정하고 있습니다.
할 수 있었다!
Reference
이 문제에 관하여(GoogleAppsScript로 서버가 필요없는 SlackBot 만들기 (후편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/dotcat/items/6a46926019dde8a7630c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(GoogleAppsScript로 서버가 필요없는 SlackBot 만들기 (후편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/dotcat/items/6a46926019dde8a7630c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)