This project adheres to Semantic Versioning.
This release comes with a (relatively large) change to use discord.js v12! There were a lot of breaking changes in the upstream library, including removal of support for Node <12, which prompted a 2.9.0-alpha release before this main version. Everything seemed to go fine, which is why you're now receiving this latest update!
- IRC nick colors are now customizable in the config (thanks to KWeaver87)
- Upgrade discord.js to 12.3.1 (the pre-release came with 12.2.0) - this changes a lot of how the bot works behind the scenes, and prepares us for upcoming Discord API changes - #555, #564
- Add support for Node 14 (#549); drop support for Node 6, 8 and 10 (#550)
- A bunch of vulnerabilities listed in
npm audit
are now gone - #544, #548, #551, #552, #553, #562 - Log messages now typically take up one line again (fixing a relatively long-standing bug, at this point – oops!) - #554
- Mentioning the same user more than once in a single message is now fixed (thanks to Qyriad)
- Our Discord client now uses a retry limit of 3 (rather than 1) on internal server errors (hopefully fixing #461) - #565
- Large avatars failed to display when bridging through webhooks - (thanks to Miosame, follow up in #530)
- Update acorn to 7.1.1 - #534
- Remove code coverage instrumentation from
dist/
files - #536
format.webhookAvatarURL
, to customize the unrecognized user webhook avatar (thanks to Geo1088)parallelPingFix
, disabled by default, to prevent users of both Discord and IRC getting pings whenever their messages are mirrored to IRC (thanks to qaisjp originally, follow up in #502 and #520)ignoreUsers.discordIds
, to ignore specific Discord users through the bridge by ID instead of name (thanks to nsavch)- A basic Docker image, found at discordirc/discord-irc! This may not be often updated with the release tags we publish on GitHub, but it should contain a
latest
tag in addition to whichever Git hash is available on main (thanks to gdude2002, follow up in #498)
- Add support for Node 13, drop testing for Node 6 - #521
- Upgrade various dependencies: babel, commander, coveralls, discord.js, eslint, mocha, simple-markdown, sinon, sinon-chai - #488, #503, #522, #523, #524, #525
- Defer to discord permissions for allowing
@everyone
and@here
in webhook messages - #497 - Support Node 10 and 12 - #499
- Upgrade dependencies
- Tests: Fix lint config deprecation - #500
- Tests: Ensure all tests are run in dev environment - #501
- Upgraded dependencies.
- Convert channel mentions to codified mentions (thanks to Throne3d).
- Match IRC style mentions at the beginning of message (thanks to rdb).
- Upgraded dependencies.
- Upgraded dependencies.
- Upgraded dependencies.
- Support for posting messages to Discord using webhooks (thanks to Fiaxhs!).
Webhooks lets you override nicknames and avatars, so messages coming from IRC can appear as regular Discord messages:
To enable webhooks, follow part 1 of this guide to create and retrieve a webhook URL for a specific channel, then enable it in discord-irc's config as follows:
"webhooks": {
"#discord-channel": "https://discord.com/api/webhooks/id/token"
}
- Upgraded dependencies.
-
Support multi-character command prefixes - #301
-
Enable auto-renicking by default, so the bot tries to get the target nickname after it fails - #302
-
Add the ability to ignore IRC/Discord users by nickname - #322
-
Improve IRC → Discord mentions around non-word characters and nickname prefix matches - #273
-
Default to UTF-8 encoding when bridging messages to prevent character corruption - #315
-
Fix a crash when using the bot in a group DM - #316
-
Use a
prepare
script for transpiling instead ofprepublish
, fixingnpm
installation direct from the GitHub repository - #323 -
Update dependencies:
- discord.js to 11.2.1
- sinon to ^4.0.1
- irc-upd to 0.8.0 - #313
- simple-markdown to ^0.3.1
- coveralls to ^3.0.0
- mocha to ^4.0.0
- winston to 2.4.0
-
Add a link to the IRC spec in the README - #307
-
Drop testing for Node 7, add testing for Node 8 - #329
- Tests: Use globbing instead of
find
so tests work on Windows - #279
- Falsy command preludes are no longer sent (previously would choose default prelude) - #260
-
Update link to IRC library in README so it points to the new irc-upd library - #264
-
Update dependency commander to 2.11.0 - #262
-
Fix deprecation warning on
TextChannel#sendMessage
- #267 -
Fix reconnection by updating dependency irc-upd to 0.6.2 - #270
This project now uses irc-upd as a dependency, instead of the old irc package – this fork should be better maintained and will solve some bugs, detailed below.
-
Allow commandCharacters to work for messages sent to Discord - #221.
-
Send nick changes from IRC to Discord with
ircStatusNotices
- #235, #241. -
Translate custom emoji references from IRC to Discord - #256.
-
Use
ircClient.nick
instead ofnickname
when checking if theircStatusNotices
event is for the bot, to prevent a potential crash - #257. -
Use the updated
irc-upd
library instead ofirc
, causing IRC messages to now be split by byte instead of character (fixing #199) and adding support for certain Unicode characters in nicknames (fixing #200) - #258. -
Update dependencies:
- discord.js to 11.1.0
- check-env to 1.3.0
- chai to ^4.0.2
- nyc to ^11.0.3
- commander to 2.10.0
- eslint to ^4.1.1
- Warn if a part/quit is received and no channelUsers is set - #218.
- Fix ircStatucNotices when channels are not lowercase - #219.
- Fix IRC quit messages sending to all channels by tracking users - #214.
A huge thank you to @Throne3d, @rahatarmanahmed, @mraof and @Ratismal for all the fixes and features in this release.
-
Bridge IRC join/part/quit messages to Discord (enable by setting ircStatusNotices to true) - #207.
-
Convert text styles between IRC and Discord #205.
-
Allow users to configure the patterns of messages on IRC and Discord using the format options object #204.
-
Add Discord channel ID matching to the channel mapping #202.
-
Parse role mentions appropriately, as with channel and user mentions #203.
-
Make the bot not crash when a channel mentioned by ID fails to exist #201.
- Convert username mentions even if nickname is set - #208.
- Reverts the changes in 2.2.0 due to incompatibilities with different clients. See #196 for more information.
- Added a zero width character between each letter of the IRC nicknames, to avoid unwanted highlights. Fixed by @Sanqui in #193.
- Upgraded discord.js.
- Listen to warn events from Discord.
- Listen to debug events from Discord (only in development).
- Log info events upon connection, instead of debug
- Upgraded node-irc to 0.5.1, fixing #129.
- Added support for highlighting users by their nicknames, thanks to @DarkSpyro003.
- Upgraded to discord.js v10.
- Send text messages only to text channels (thanks @dustinlacewell).
- Use nickname, not username, in command prelude. Thanks to @williamjacksn.
- A bug where Discord attachment URLs weren't posted to IRC, thanks to @LordAlderaan for the report.
- Messages sent to IRC will now use the correct server nickname, instead of the user's global username (thanks to @DarkSpyro003).
- Display custom emojis correctly, thanks to @macdja38.
- Upgrade to version 9.3 of discord.js. This removes support for Node.js versions older than v6, as that's the oldest discord.js supports.
- Replace changes in 1.0.2 with the #indev-old version of discord.js.
- Discord's API now requires bot tokens to be prefixed with "Bot". This adds a hotfix that does exactly that.
- Upgraded dependencies.
- Breaking: discord-irc now uses tokens for authentication, instead of email/password, thanks to @TheDoctorsLife. See the README for more instructions.
- Enable auto reconnect for IRC and Discord.
- Upgrade discord.js to 7.0.1.
Implemented by @rce:
- Support for messages containing both attachments and text.
- Attachment URLs are now posted by themselves, instead of including a preliminary message explaining that it's an attachment.
- Added the config option
ircNickColor
to make it possible to disable nick colors for messages sent to IRC.
- Upgrade dependencies.
- Highlight Discord users when they're mentioned on IRC (thanks to @rce).
- Discord attachments will be linked to on IRC when they're posted (fixed by @rce).
- Upgraded dependencies.
- istanbul -> nyc for coverage.
- Comments are now stripped from JSON configs before they're parsed.
- Upgraded dependencies.
- Colors to IRC nicks.
- Rewrote everything to ES6.
- Support for channel and username highlights from Discord to IRC. This means that e.g. #general will no longer result in something like #512312.
- Working tests for all functionality.
- Made
discord.irc
a regular dependency, instead of a devDependency.
- Initial implementation.