Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ...
- rtm.on(RTM_EVENTS.MESSAGE, function handleRtmMessage(message) {
- var isAdmin = _.contains(admins, message.user);
- if (message.thread_ts) {
- sendMessageToThread(message).then((message) => {
- console.log('Message Sent to user.');
- });
- return;
- }
- if (message.subtype == 'message_replied' || message.subtype == 'message_changed') {
- console.log('do nothing.');
- } else if (~message.text.indexOf('<@U5CDHP0CR>') && isAdmin) {
- processCommands(message);
- }
- });
- function processCommands(message) {
- if (s.include(message.text, 'admin')) {
- assignAdmin(message);
- } else if (s.include(message.text, 'broadcast')) {
- broadcastAll(message);
- } else if (s.include(message.text, 'abort')) {
- clearBroadcast();
- } else if (s.include(message.text, 'attendees')) {
- printAttendees();
- } else if (s.include(message.text, 'break0ut')) {
- flashBreakout();
- } else if (s.include(message.text, 'keyn0te')) {
- flashKeynote();
- }
- }
- function sendMessageToThread (message) {
- console.log('Sending message to thread now!:', message.text)
- return new Promise(function (resolve, reject) {
- var thread = message.thread_ts;
- User.findOne({threadId: thread})
- .then(function(user) {
- user.sendMessage(message.text);
- console.log(message.text);
- })
- .catch(function (err) {
- console.log(err);
- });
- })
- }
- slackBot.prototype.incoming = function (message, user) {
- console.log('/incoming invoked with:', message);
- var msg = {
- "type": "message",
- "channel": channel
- };
- return new Promise(function (resolve, reject) {
- if (user.threadId) {
- console.log('User is in a thread already');
- msg.thread_ts = user.threadId;
- if (user.name) {
- msg.text = `${user.name}: ${message}`;
- } else {
- msg.text = message;
- }
- rtm.send(msg);
- } else {
- msg.text = `${user.phone}: ${message}`;
- rtm.send(msg)
- .then(function(response) {
- user.threadId = response.ts;
- user.save();
- })
- .catch(function(err) {
- console.log(err);
- });
- }
- })
- }
- slackBot.prototype.start = function() {
- rtm.start();
- }
- module.exports = new slackBot();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement