Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.18 KB | None | 0 0
  1. ...
  2. rtm.on(RTM_EVENTS.MESSAGE, function handleRtmMessage(message) {
  3. var isAdmin = _.contains(admins, message.user);
  4. if (message.thread_ts) {
  5. sendMessageToThread(message).then((message) => {
  6. console.log('Message Sent to user.');
  7. });
  8. return;
  9. }
  10.  
  11. if (message.subtype == 'message_replied' || message.subtype == 'message_changed') {
  12. console.log('do nothing.');
  13. } else if (~message.text.indexOf('<@U5CDHP0CR>') && isAdmin) {
  14. processCommands(message);
  15. }
  16. });
  17.  
  18. function processCommands(message) {
  19. if (s.include(message.text, 'admin')) {
  20. assignAdmin(message);
  21. } else if (s.include(message.text, 'broadcast')) {
  22. broadcastAll(message);
  23. } else if (s.include(message.text, 'abort')) {
  24. clearBroadcast();
  25. } else if (s.include(message.text, 'attendees')) {
  26. printAttendees();
  27. } else if (s.include(message.text, 'break0ut')) {
  28. flashBreakout();
  29. } else if (s.include(message.text, 'keyn0te')) {
  30. flashKeynote();
  31. }
  32. }
  33.  
  34. function sendMessageToThread (message) {
  35. console.log('Sending message to thread now!:', message.text)
  36. return new Promise(function (resolve, reject) {
  37. var thread = message.thread_ts;
  38.  
  39. User.findOne({threadId: thread})
  40. .then(function(user) {
  41. user.sendMessage(message.text);
  42. console.log(message.text);
  43. })
  44. .catch(function (err) {
  45. console.log(err);
  46. });
  47. })
  48. }
  49.  
  50.  
  51. slackBot.prototype.incoming = function (message, user) {
  52. console.log('/incoming invoked with:', message);
  53. var msg = {
  54. "type": "message",
  55. "channel": channel
  56. };
  57. return new Promise(function (resolve, reject) {
  58. if (user.threadId) {
  59. console.log('User is in a thread already');
  60. msg.thread_ts = user.threadId;
  61. if (user.name) {
  62. msg.text = `${user.name}: ${message}`;
  63. } else {
  64. msg.text = message;
  65. }
  66. rtm.send(msg);
  67. } else {
  68. msg.text = `${user.phone}: ${message}`;
  69. rtm.send(msg)
  70. .then(function(response) {
  71. user.threadId = response.ts;
  72. user.save();
  73. })
  74. .catch(function(err) {
  75. console.log(err);
  76. });
  77. }
  78. })
  79. }
  80.  
  81.  
  82.  
  83. slackBot.prototype.start = function() {
  84. rtm.start();
  85. }
  86.  
  87. module.exports = new slackBot();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement