From c7e07d75d43a3d8fb8d5f4b23f2c61b34f9c0263 Mon Sep 17 00:00:00 2001 From: Deepak Kothandan Date: Thu, 30 Jun 2016 21:41:44 +0200 Subject: [PATCH] slash command for open --- .meteor/packages | 1 + .meteor/versions | 1 + packages/rocketchat-lib/i18n/en.i18n.json | 1 + .../rocketchat-slashcommands-open/client.js | 25 +++++++++++++++++++ .../rocketchat-slashcommands-open/package.js | 21 ++++++++++++++++ 5 files changed, 49 insertions(+) create mode 100644 packages/rocketchat-slashcommands-open/client.js create mode 100644 packages/rocketchat-slashcommands-open/package.js diff --git a/.meteor/packages b/.meteor/packages index 3a62a76b753..a755af3c9a7 100644 --- a/.meteor/packages +++ b/.meteor/packages @@ -150,3 +150,4 @@ todda00:friendly-slugs underscorestring:underscore.string yasaricli:slugify yasinuslu:blaze-meta +rocketchat:slashcommands-open diff --git a/.meteor/versions b/.meteor/versions index 6ca3d3081ba..49fcfd57fcd 100644 --- a/.meteor/versions +++ b/.meteor/versions @@ -183,6 +183,7 @@ rocketchat:slashcommands-kick@0.0.1 rocketchat:slashcommands-leave@0.0.1 rocketchat:slashcommands-me@0.0.1 rocketchat:slashcommands-mute@0.0.1 +rocketchat:slashcommands-open@0.0.1 rocketchat:slashcommands-topic@0.0.1 rocketchat:slashcommands-unarchive@0.0.1 rocketchat:sms@0.0.1 diff --git a/packages/rocketchat-lib/i18n/en.i18n.json b/packages/rocketchat-lib/i18n/en.i18n.json index 4d50e74172f..b16e41a3451 100644 --- a/packages/rocketchat-lib/i18n/en.i18n.json +++ b/packages/rocketchat-lib/i18n/en.i18n.json @@ -771,6 +771,7 @@ "Only_you_can_see_this_message" : "Only you can see this message", "Oops!" : "Oops", "Open" : "Open", + "Open_A_Channel" : "Open a Channel", "Opened" : "Opened", "optional" : "optional", "Order" : "Order", diff --git a/packages/rocketchat-slashcommands-open/client.js b/packages/rocketchat-slashcommands-open/client.js new file mode 100644 index 00000000000..5b952a82799 --- /dev/null +++ b/packages/rocketchat-slashcommands-open/client.js @@ -0,0 +1,25 @@ +function Open(command, params, item) { + var channel, room, subscription; + if (command !== 'open' || !Match.test(params, String)) { + return; + } + channel = params.trim(); + if (channel === '') { + room = RocketChat.models.Rooms.findOneById(item.rid); + channel = room.name; + } else { + channel = channel.replace('#', ''); + } + subscription = ChatSubscription.findOne({ + name: channel + }); + + if (subscription !== null) { + Meteor.call('openRoom', subscription.rid); + } +} + +RocketChat.slashCommands.add('open', Open, { + description: TAPi18n.__('Open_A_Channel'), + params: '#channel' +}); diff --git a/packages/rocketchat-slashcommands-open/package.js b/packages/rocketchat-slashcommands-open/package.js new file mode 100644 index 00000000000..d2abcd03240 --- /dev/null +++ b/packages/rocketchat-slashcommands-open/package.js @@ -0,0 +1,21 @@ +Package.describe({ + name: 'rocketchat:slashcommands-open', + version: '0.0.1', + summary: 'Command handler for the /open command', + git: '' +}); + +Package.onUse(function(api) { + + api.versionsFrom('1.0'); + + api.use([ + 'ecmascript', + 'check', + 'rocketchat:lib' + ]); + + api.use('templating', 'client'); + + api.addFiles('client.js', 'client'); +});