From dca2ff3dcde6d76e0f0fd6896c194f429f79c3d0 Mon Sep 17 00:00:00 2001 From: Aaron Date: Mon, 31 Aug 2015 18:10:10 -0500 Subject: [PATCH 1/3] added /invite slash command --- .meteor/packages | 1 + .meteor/versions | 1 + .../invite.coffee | 14 +++++++++++++ .../package.js | 21 +++++++++++++++++++ 4 files changed, 37 insertions(+) create mode 100644 packages/rocketchat-slashcommands-invite/invite.coffee create mode 100644 packages/rocketchat-slashcommands-invite/package.js diff --git a/.meteor/packages b/.meteor/packages index 1f8dcda4e2e4..f6943ee60c0f 100644 --- a/.meteor/packages +++ b/.meteor/packages @@ -32,6 +32,7 @@ rocketchat:ldap rocketchat:logger rocketchat:markdown rocketchat:me +rocketchat:slashcommands-invite rocketchat:mentions rocketchat:oembed rocketchat:webrtc diff --git a/.meteor/versions b/.meteor/versions index 6d51817b8643..e8ad500cc8b7 100644 --- a/.meteor/versions +++ b/.meteor/versions @@ -115,6 +115,7 @@ rocketchat:markdown@0.0.1 rocketchat:me@0.0.1 rocketchat:mentions@0.0.1 rocketchat:oembed@0.0.1 +rocketchat:slashcommands-invite@0.0.1 rocketchat:statistics@0.0.1 rocketchat:webrtc@0.0.1 routepolicy@1.0.5 diff --git a/packages/rocketchat-slashcommands-invite/invite.coffee b/packages/rocketchat-slashcommands-invite/invite.coffee new file mode 100644 index 000000000000..4339a523a6a8 --- /dev/null +++ b/packages/rocketchat-slashcommands-invite/invite.coffee @@ -0,0 +1,14 @@ +### +# Invite is a named function that will replace /invite commands +# @param {Object} message - The message object +### + +class Invite + constructor: (command, params, item) -> + if(command == "invite") + if _.trim params + user = Meteor.users.findOne({ username: String(params) }) + Meteor.runAsUser user._id, -> + Meteor.call 'joinRoom', item.rid + +RocketChat.slashCommands.add 'invite', Invite diff --git a/packages/rocketchat-slashcommands-invite/package.js b/packages/rocketchat-slashcommands-invite/package.js new file mode 100644 index 000000000000..81d12037eae9 --- /dev/null +++ b/packages/rocketchat-slashcommands-invite/package.js @@ -0,0 +1,21 @@ +Package.describe({ + name: 'rocketchat:slashcommands-invite', + version: '0.0.1', + summary: 'Message pre-processor that will translate /me commands', + git: '' +}); + +Package.onUse(function(api) { + api.versionsFrom('1.0'); + + api.use([ + 'coffeescript', + 'rocketchat:lib@0.0.1' + ]); + + api.addFiles('invite.coffee', ['server','client']); +}); + +Package.onTest(function(api) { + +}); From 4d7a2b98df77172e1fb23f566c16567a2286a042 Mon Sep 17 00:00:00 2001 From: Aaron Date: Mon, 31 Aug 2015 18:17:02 -0500 Subject: [PATCH 2/3] I guess we should make sure the user we're inviting is there --- packages/rocketchat-slashcommands-invite/invite.coffee | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/rocketchat-slashcommands-invite/invite.coffee b/packages/rocketchat-slashcommands-invite/invite.coffee index 4339a523a6a8..826bb40a93bc 100644 --- a/packages/rocketchat-slashcommands-invite/invite.coffee +++ b/packages/rocketchat-slashcommands-invite/invite.coffee @@ -8,7 +8,9 @@ class Invite if(command == "invite") if _.trim params user = Meteor.users.findOne({ username: String(params) }) - Meteor.runAsUser user._id, -> - Meteor.call 'joinRoom', item.rid + + if user? + Meteor.runAsUser user._id, -> + Meteor.call 'joinRoom', item.rid RocketChat.slashCommands.add 'invite', Invite From 7686fba8298ba389860dff532f541ab9a09e1675 Mon Sep 17 00:00:00 2001 From: Aaron Date: Mon, 31 Aug 2015 19:55:23 -0500 Subject: [PATCH 3/3] Commented out inclusion. --- .meteor/packages | 2 +- .meteor/versions | 1 - packages/rocketchat-slashcommands-invite/invite.coffee | 5 ++++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.meteor/packages b/.meteor/packages index f6943ee60c0f..a23bfb4c45a2 100644 --- a/.meteor/packages +++ b/.meteor/packages @@ -32,7 +32,7 @@ rocketchat:ldap rocketchat:logger rocketchat:markdown rocketchat:me -rocketchat:slashcommands-invite +#rocketchat:slashcommands-invite rocketchat:mentions rocketchat:oembed rocketchat:webrtc diff --git a/.meteor/versions b/.meteor/versions index e8ad500cc8b7..6d51817b8643 100644 --- a/.meteor/versions +++ b/.meteor/versions @@ -115,7 +115,6 @@ rocketchat:markdown@0.0.1 rocketchat:me@0.0.1 rocketchat:mentions@0.0.1 rocketchat:oembed@0.0.1 -rocketchat:slashcommands-invite@0.0.1 rocketchat:statistics@0.0.1 rocketchat:webrtc@0.0.1 routepolicy@1.0.5 diff --git a/packages/rocketchat-slashcommands-invite/invite.coffee b/packages/rocketchat-slashcommands-invite/invite.coffee index 826bb40a93bc..5f234ccf9791 100644 --- a/packages/rocketchat-slashcommands-invite/invite.coffee +++ b/packages/rocketchat-slashcommands-invite/invite.coffee @@ -7,10 +7,13 @@ class Invite constructor: (command, params, item) -> if(command == "invite") if _.trim params - user = Meteor.users.findOne({ username: String(params) }) + username = params.replace('@', '') + + user = Meteor.users.findOne({ username: username }) if user? Meteor.runAsUser user._id, -> Meteor.call 'joinRoom', item.rid + RocketChat.slashCommands.add 'invite', Invite