This project adheres to Semantic Versioning.
- Make sure multiple links works for readable representation as well.
- A bug where multiple links would be parsed wrongly, see ekmartin#160
- Upgraded linter.
- Upgraded dependencies. ESLint has dropped support for older Node.js versions, which means you'll require at least Node.js 4.0 to develop on slack-irc. It'll still be possible to run the application with older Node.js versions.
- Removed unused
emoji.json
file.
- Exit the application if the maximum retry count for IRC is reached.
- The configuration option
avatarUrl
, which lets you decide how IRC users' messages should be presented on Slack. This can be set tofalse
to disable them altogether, or a custom URL to change the avatar.
Example: 'https://robohash.org/$username.png'
, where
$username will be replaced with the IRC author's username.
- Upgraded dependencies.
- Set node-irc's retryCount to 10, so that the bot attempts to reconnect to IRC upon disconnects.
- Upgraded dependencies, including an upgrade of node-slack-client from version 1 to 2.
- Upgraded dependencies.
- Pin ESLint to 2.2.0 so it works with babel-eslint 6.
- Upgraded dependencies.
- Update ESLint config to use preset eslint-config-webkom.
- Make sure Don doesn't get highlighted for messages containing "don't", fixed by @Ibuprofen.
- Fix a bug where the bot-in-channel check would fail for private groups.
- Don't crash when trying to send a message to a Slack channel the bot isn't a member of.
- Remove babel-polyfill, use functions available in Node 0.10 and above instead.
- Added babel-polyfill, fixes #70.
- Updated dependencies.
- Valid usernames are now highlighted with an @ before messages are posted to Slack, thanks to @grahamb.
muteSlackbot
option that stops Slackbot messages from being forwarded to IRC, also courtesy of @grahamb.ircStatusNotices
option that makes slack-irc send status updates to Slack whenever an IRC user joins/parts/quits. See README.md for example.
- Upgraded dependencies.
- Comments are now stripped from JSON configs before they're parsed.
- Configurations with invalid JSON now throws a ConfigurationError.
- Upgraded dependencies.
- Refactor to use ES2015+ with Babel.
- Refactor tests.
- Support for actions from IRC to Slack and vice versa (/me messages).
- Support for sending notices from IRC to Slack (/notice #channel message).
- Remove old unused dependencies.
- A bug introduced in 3.5.0 where Slack messages sent to IRC wouldn't get parsed. Adds a test to confirm correct behavior.
commandCharacters
option - makes the bot hide the username prefix for messages that start with one of the provided characters when posting to IRC. ACommand sent from Slack by username:
message will be posted to the IRC channel before the command is submitted.
- Made it possible to require slack-irc as a node module.
- Upgrade dependencies.
- Make IRC channel names case insensitive in the channel mapping. Relevant issue: #31
- Convert newlines sent from Slack to spaces to prevent the bot from sending multiple messages.
- Support for passing node-irc
options directly by adding an
ircOptions
object to the config. Also setsfloodProtection
on by default, with a delay of 500 ms.
- Make the bot able to join password protected IRC channels. Example:
"channelMapping": {
"#slack": "#irc channel-password",
}
Move from using outgoing/incoming integrations to Slack's bot users. See README.md for a new example configuration. This mainly means slack-irc won't need to listen on a port anymore, as it uses websockets to receive the messages from Slack's RTM API.
To change from version 2 to 3, do the following:
- Create a new Slack bot user (under integrations)
- Add its token to your slack-irc config, and remove
the
outgoingToken
andincomingURL
config options.
- Message formatting, follows Slack's rules.
- MIT License
- Post URL changed from
/send
to/
.
- Icons from Adorable Avatars.
- Command-line interface
- Status code from 202 to 200.
- Support for running multiple bots (on different Slacks)
- New configuration format, example here.
- Add support for channel mapping.
- Use winston for logging.