Skip to content

Instantly share code, notes, and snippets.

Last active March 17, 2021 21:22
  • Star 20 You must be signed in to star a gist
  • Fork 9 You must be signed in to fork a gist
Star You must be signed in to star a gist
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){
Copy link

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 :

Copy link

justinr commented Dec 2, 2014

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

Copy link

metasim commented Mar 5, 2015

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

Copy link

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

Copy link

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)

Copy link

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