## Name

IRC — sends and receives messages using the IRC protocol

## Overview

The IRC component implements an IRC transport.

## URI format

The IRC component supports two URI formats:

    irc:nick@host[:port]/#room[?options]

    irc:nick@host[:port]?channels=#channel1,#channel2,#channel3[?options]

You can append query options to the URI in the following format:

    ?option=value&option=value&...

To use SSL the format changes to:

    ircs:host[:port]/#room?username=user&password=pass&trustManager=#referenceToMyTrustManagerBean

## Options

Table 30, “IRC options” lists the options for an IRC endpoint.

Table 30. IRC options

Name | Description | Default Value
--- | --- | ---
`channels` | Specifies a comma separated list of IRC channels to join. | `null`
`nickname` | Specifies the nickname used in chat. | `null`
`username` | Specifies the user name to log into the IRC server. | Same as `nickname`
`password` | Specifies the password to log into the IRC server. |
`realname` | Specifies the IRC user's actual name. |
`colors` | Specifies whether or not the server supports color codes. | `true`
`onReply` | Whether or not to handle general responses to commands or informational messages. | `false`
`onNick` | Handle nickname change events. | `true`
`onQuit` | Handle user quit events. | `true`
`onJoin` | Handle user join events. | `true`
`onKick` | Handle kick events. | `true`
`onMode` | Handle mode change events. | `true`
`onPart` | Handle user part events. | `true`
`onTopic` | Handle topic change events. | `true`
`onPrivmsg` | Handle message events. | `true`
`trustManager` | Specifies the trust manager used to verify the SSL server's certificate. | The default trust manager, which accepts all certificates, will be used.
`keys` | Specifies a comma separated list of IRC channel keys. The keys must be listed in same order as channels. When joining multiple channels with only some needing keys insert an empty value for any channel that does not require a key. | `null`