diff --git a/packages/rocketchat-mentions/client.coffee b/packages/rocketchat-mentions/client.coffee new file mode 100644 index 00000000000..3d11621ca4d --- /dev/null +++ b/packages/rocketchat-mentions/client.coffee @@ -0,0 +1,16 @@ +### +# Mentions is a named function that will process Mentions +# @param {Object} message - The message object +### + +class Mentions + constructor: (message) -> + # If message starts with /me, replace it for text formatting + mentions = [] + message.msg.replace /(?:^|\s|\n)(?:@)([A-Za-z0-9-_.]+)/g, (match, mention) -> + mentions.push mention + if mentions.length isnt 0 + message.mentions = _.unique mentions + return message + +RocketChat.callbacks.add 'beforeSaveMessage', Mentions diff --git a/packages/rocketchat-mentions/package.js b/packages/rocketchat-mentions/package.js index f588cff410d..f2b4100101c 100644 --- a/packages/rocketchat-mentions/package.js +++ b/packages/rocketchat-mentions/package.js @@ -13,6 +13,7 @@ Package.onUse(function(api) { 'rocketchat:lib@0.0.1' ]); + api.addFiles('client.coffee', 'client'); api.addFiles('server.coffee', 'server'); });