Advertisement
Guest User

Untitled

a guest
Mar 18th, 2016
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1.  
  2. var Particle = require('particle-api-js');
  3. var particle = new Particle();
  4. var timerId;
  5. var lastUpdated;
  6. var lastTweet;
  7.  
  8. particle.login({
  9. username: process.env.particle_username,
  10. password: process.env.particle_username });
  11.  
  12. var Twitter = require('twitter');
  13.  
  14. var client = new Twitter({
  15. consumer_key: process.env.twitter_ck,
  16. consumer_secret: process.env.twitter_cs,
  17. access_token_key: process.env.twitter_atk,
  18. access_token_secret: process.env.twitter_ats,
  19. });
  20.  
  21. /**
  22. * Stream statuses filtered by keyword
  23. * number of tweets per second depends on topic popularity
  24. **/
  25. client.stream('statuses/filter', {track: 'reactjs'}, function(stream){
  26. stream.on('data', function(tweet) {
  27. console.log(tweet.text);
  28. lastTweet = tweet.text;
  29. lastUpdated = Date.now();
  30. if (!timerId) {
  31. timerId = setInterval(particleServiceTimer, 10000);
  32. }
  33.  
  34. });
  35.  
  36. stream.on('error', function(error) {
  37. console.log(error);
  38. });
  39. });
  40.  
  41. function particleServiceTimer() {
  42. var publishEventPr = particle.publishEvent({ name: 'writeRow1',
  43. data: lastTweet,
  44. auth: process.env.SPARKACCESSTOKEN });
  45.  
  46. publishEventPr.then(
  47. function(data) {
  48. if (data) { console.log("Event published succesfully") }
  49. },
  50. function(err) {
  51. console.log("Failed to publish event: " + err)
  52. }
  53. );
  54. console.log('Sending to spark service.');
  55. if (Date.now() - lastUpdated > 15000) {
  56. clearInterval(timerId);
  57. timerId = null;
  58. }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement