3.0.0 • Published 1 month ago

matrix-org-irc v3.0.0

Weekly downloads
-
License
GPL-3.0
Repository
github
Last release
1 month ago

License

This is a fork of node-irc, which is an IRC client library written in TypeScript for Node. This fork is used by the Matrix-IRC application service.

To use this package:

  yarn add matrix-org-irc

Differences from node-irc

The node-irc library isn't well maintained and there are a number of issues which are impacting development of the Matrix-IRC application service. We made the decision to fork the project in order to improve reliability of the application service. A summary of modifications from node-irc@0.3.12 are below:

  • TypeScript support
  • https://github.com/matrix-org/node-irc/pull/1 - Manifested as BOTS-80
  • https://github.com/matrix-org/node-irc/pull/4 - Manifested as BOTS-73
  • Handle +R - https://github.com/matrix-org/node-irc/commit/7c16b994b12145b6da8961790bcfa808fb7fcba9
  • Handle more error codes (430,435,438)
  • Fix bug which would fail to connect conflicting nicks which == NICKLEN.
  • Fix err_unavailresource on connection with reserved nicks.
  • Workaround for the Scunthorpe problem: https://github.com/matrix-org/matrix-appservice-irc/issues/103
  • Add methods for working out if a given text will be split and into how many lines.
  • Add names support (incl. multi-prefix).
  • Add functions to determine if a user prefix is more powerful than another (e.g. @ > &)
  • Case-map all incoming channels correctly (e.g on PRIVMSG and NOTICE)
  • Allow IP family to be chosen to allow IPv6 connections.
  • Add function for getting channel modes.
  • Workaround terrible RFC3484 rules which means that IPv6 DNS rotations would not be honoured.
  • Add setUserMode to set a user's mode.
  • Addition of encodingFallback option which allows setting encoding to use for non-UTF-8 encoded messages.
  • Addition of onNickConflict() option which is called on err_nicknameinuse. This function should return the next nick to try. The function defaults to suffixing monotonically increasing integers. Usage:
    new Client("server.com", "MyNick", {
       onNickConflict: function() {
         return "_MyNick_";
       }
    });
3.0.0

1 month ago

2.2.0

9 months ago

2.1.0

9 months ago

2.0.1

12 months ago

2.0.0-hs-test

1 year ago

2.0.0-hs-test-3

1 year ago

2.0.0-fixmaps

12 months ago

2.0.0-hs-test-2

1 year ago

2.0.0

1 year ago

1.3.0-beta-1

2 years ago

1.5.0

2 years ago

1.4.0

2 years ago

1.3.0

2 years ago

1.2.1

2 years ago

1.2.0

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago

1.0.0-alpha3

3 years ago

1.0.0-alpha4

3 years ago

1.0.0-alpha2

3 years ago

1.0.0-alpha1

3 years ago