diff --git a/.meteor/packages b/.meteor/packages index ab2a0689947..375ee1b94eb 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 c464264305c..442c92d9a27 100644 --- a/.meteor/versions +++ b/.meteor/versions @@ -182,6 +182,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 f9714aba917..89baf9b6a0e 100644 --- a/packages/rocketchat-lib/i18n/en.i18n.json +++ b/packages/rocketchat-lib/i18n/en.i18n.json @@ -779,6 +779,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'); +});