Instantly share code, notes, and snippets.

What would you like to do?
Slack slackbot send weather forecast
var request = require("request");
// The Cities IDs can be found on (make a search, and look the URI)
var cities = [2988507, 5391959];
var slackBotUri = ""; // TODO: Complete
request(""+cities.join(',')+"&units=metric ", function(error, response, body) {
// Maybe we can handle this differently/better ?
if(error != null)
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 += "*""*: ";
text += ":" +[0].icon + ": ";
text +=[0].main + ", " +[0].description + ". ";
text += "Temp: " + currentCity.main.temp + "°c. "
text += "\n";
url: slackBotUri,
body: text
}, function(error, response, body){

This comment has been minimized.


cmaneu commented Sep 17, 2014

If you want to display the forecast icons, you must add custom emoji to your slack instance. You can download/see all used icons here :


This comment has been minimized.

justinr commented Dec 2, 2014

How do I implement this in Slack? Do I use webhooks for this?


This comment has been minimized.

metasim commented Mar 5, 2015

Ditto... how do you install this in Slack?


This comment has been minimized.

seanwalsh commented Apr 2, 2015

He has a variable called slackBotUri. Set that to the URI that you have setup as a webhook integration.


This comment has been minimized.

khoi-thinh commented Mar 16, 2016

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.
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)


This comment has been minimized.

djui commented Apr 28, 2016

@thinhduckhoi npm install request

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment