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 auditare 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
latesttag 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
@everyoneand@herein 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
preparescript for transpiling instead ofprepublish, fixingnpminstallation 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
findso 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.nickinstead ofnicknamewhen checking if theircStatusNoticesevent is for the bot, to prevent a potential crash - #257. -
Use the updated
irc-updlibrary 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
ircNickColorto 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.irca regular dependency, instead of a devDependency.
- Initial implementation.
