Sublime Text 3 slack.com integration plugin
=========================
A Sublime Text 3 plugin which integrates http://slack.com services.
### This plugin is no longer maintained (mainly because I switched to PyCharm). If someone wants to continue work on this, i will give access rights.
### Installation
Search for "Slack" package in Sublime Package Control
### Configuration
Open "Settings - User" from Preferences -> Package Settings -> Slack
{
"team_tokens": {
"Team 1": "team-1-token-goes-here",
"Team 2": "team-2-token-goes-here",
},
"username": "Sublime",
"username_subtext": "via Sublime",
"show_plaform_and_name": true,
"repeat_file_ext": false,
"avatar_url": "http://simionbaws.ro/icons/sublime-48.png"
}
* ##### `"team_tokens"` (required)
* A list of tokens you have, keyed by the team name that the token corresponds to.
* You can get the token(s) from https://api.slack.com/web#auth (make sure you are authenticated on slack.com with your account)
* ##### `"username"` (required)
* **defaults to "Sublime"**
* The "sender" username that will be attributed to each message
* ##### `"username_subtext"`(optional)
* The parenthetical subtext to show next to your username. Defaults to "via Sublime".
* \*Note that if set, this setting will override the `"show_platform_and_name"` setting
* \*Slack enforces that external plugins have parenthetical subtext next to the sender's username for each message.
So if this option is omitted AND the `"show_platform_and_name"` setting is `false`, Slack adds the default subtext "bot", e.g., "myUser (bot)"
* ##### `"show_platform_and_name"` (optional)
* **defaults to `true`**
* if this is `true` and no setting is given for `username_subtext`, will use your name and your platform as the subtext to the username, e.g. "myUser (simion, linux)"
* ##### `"repeat_file_ext"` (optional)
* **defaults to `false`**
* If this is `true`, the name of the file being uploaded with have the extension repeated., e.g. `script.py` is uploaded as `script.py.py`.
* \*This is meant to account for the fact that Slack, by default, chops off the file extension when displaying the filename. So uploading
a file called `script.py` shows up in most places in Slack as just having the filename `script`.
With this option set to true, it would show up as `script.py` in Slack, at the expense of having the actual uploaded filename as `script.py.py`
* \*See [Screenshots](#user-content-screenshots-file-uploads) below for examples
* ##### `"avatar_url"` (required)
* url to the avatar image to use
* **defaults to** [http://simionbaws.ro/icons/sublime-48.png](http://simionbaws.ro/icons/sublime-48.png)
* ![alt text](http://simionbaws.ro/icons/sublime-48.png)
### Features
* Send messages to
* users
* channels
* private groups
* Can send message:
* from selected code
* from user input
* @user, #channel or .group supported (at beggining of message)
* Autofill last @user, #channel or .group used
* Multiple teams(tokens) support
* Upload files
* current open file
* contextual (right click) in sidebar
* enter file path manually
###Changelog
* __1.4.6__: Fixed empty filename on uploads. Made it so that messages sent to users via `@user` are sent via IM (private message) rather than to that user's slackbot channel.
Added `"repeat_file_ext"` and `"username_subtext"` options
* __1.4.5__: Code preformatting
* __1.4.3__: http://simionbaws.ro/plugins/sublime-slack-1-4-3/
* __1.4.0__: http://simionbaws.ro/plugins/sublime-slack-1-4-0/
* __1.3.3__: http://simionbaws.ro/plugins/sublime-slack-1-3-3/
* __1.3.2__: http://simionbaws.ro/plugins/sublime-slack-1-3-2/
* __1.3.1__: http://simionbaws.ro/plugins/sublime-slack-1-3/
### Usage
* Select a text and Right click (or ctrl+shift+p) -> Slack: Send selection
* Sending a custom message:
- press Ctrl+Alt+n (or control + command + n)
- enter the message
- choose a channel/group/user from the dropdown
If the message begins with @username #channel or .group the message is sent directly to the specified receiver.
When using new message input box, it will have the last receiver name autocompletet automatically
* Send a file: right click, or using quick panel
### Shortcuts
* ctrl+alt+u -> Send Selection (osx: control + option + u)
* ctrl+alt+n -> Send Custom Message (osx: control + option + n)
* ctrl+alt+j -> Send Current File (osx: control + option + k)
### Feedback
If you have any suggestions, please leave a reply here:
http://simionbaws.ro/sublime-text-3-slack-integration-plugin/
### Bug report / feature request
Please use github issues system: https://github.com/simion/sublime-slack-integration/issues
### Development
This plugin is constantly being upgraded as the slack.com API team releases new features or fixes existing bugs.
If you want to contribute, feel free to fork and make a pull request. The code must pe PEP8 compliant to be accepted (or at least close to that)
### Support
I like beer.
So if you'd like to support the continuous development of this plugin, you could buy me a beer: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=NNPZNQULPETD4
#### Screenshots
* Grab message from user input
* ![](http://i.imgur.com/lyv6Yd6.png "Grab message from user input")
* Receiver selection
* ![](http://i.imgur.com/fu941bH.png "Receiver selection")
* Direct message sending, skips channel/user/group selection
* ![](http://i.imgur.com/SXnHYZo.png "Direct message sending, skips channel/user/group selection")
* Send message directly to user
* ![](http://i.imgur.com/SXnHYZo.png "Send message directly to user")
* Send message to channel
* ![](http://i.imgur.com/qaXE9EN.png "Send message directly to channel")
* Example of received message
* ![](http://i.imgur.com/7n14c5H.png "Example of received message")
* Example of uploaded file - *WITHOUT* `"repeat_file_ext"` setting
* ![](http://i.imgur.com/hxsNw1t.png "Without 'repeat_file_ext' setting")
* Example of uploaded file - *WITH* `"repeat_file_ext"` setting (notice the `.py`)
* ![](http://i.imgur.com/eZRO97k.png "With 'repeat_file_ext' setting")
* Sidebar right-click
* ![](http://i.imgur.com/Gf6UvSn.png "Sidebar right-click")
* Quick menu
* ![](http://i.imgur.com/GTfi88U.png "Quick menu")