Last active
January 19, 2024 19:59
-
-
Save cmaneu/932e4628712ec9bbcaea to your computer and use it in GitHub Desktop.
Slack slackbot send weather forecast
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var request = require("request"); | |
// The Cities IDs can be found on openweathermap.org (make a search, and look the URI) | |
var cities = [2988507, 5391959]; | |
var slackBotUri = ""; // TODO: Complete | |
request("http://api.openweathermap.org/data/2.5/group?id="+cities.join(',')+"&units=metric ", function(error, response, body) { | |
// Maybe we can handle this differently/better ? | |
if(error != null) | |
return; | |
var text = "Hello team, here is the weather forecast for today: \n"; | |
var weatherForecasts = JSON.parse(body); | |
for (var i = weatherForecasts.list.length - 1; i >= 0; i--) { | |
var currentCity= weatherForecasts.list[i]; | |
text += "*"+currentCity.name+"*: "; | |
text += ":" + currentCity.weather[0].icon + ": "; | |
text += currentCity.weather[0].main + ", " + currentCity.weather[0].description + ". "; | |
text += "Temp: " + currentCity.main.temp + "°c. " | |
text += "\n"; | |
}; | |
console.log(text); | |
request.post({ | |
url: slackBotUri, | |
body: text | |
}, function(error, response, body){ | |
console.log(body); | |
}); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Could someone tell me exactly how to do this?
Download this file, install Node.js, input webhook url into slackBotUri, run with the command: node slackWeather.js, is that right?
If so, it didn't work for me.
module.js:340
throw err;
^
Error: Cannot find module 'request'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object. (/root/slackWeather.js:1:77)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)