IRC Component
The irc component implements an IRC (Internet Relay Chat) transport.
Maven users will need to add the following dependency to their pom.xml for this component:
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-irc</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel core version -->
</dependency>
URI format
irc:n...@host[:port]/#room[?options]
In Camel 2.0, you can also use the following format:
irc:n...@host[:port]?channels=#channel1,#channel2,#channel3[?options]
You can append query options to the URI in the following format, ?option=value&option=value&...
Options
Name |
Description |
Example |
Default Value |
channels |
Camel 2.0: Comma separated list of IRC channels to join. |
channels=#channel1,#channel2 |
null |
nickname |
The nickname used in chat. |
irc:myn...@irc.server.org#channel or irc:irc.server.org#channel?nickname=MyUser |
null |
username |
The IRC server user name. |
irc:myu...@irc.server.org#channel or irc:irc.server.org#channel?username=MyUser |
Same as nickname. |
password |
The IRC server password. |
password=somepass |
None |
realname |
The IRC user's actual name. |
realname=MyName |
None |
colors |
Whether or not the server supports color codes. |
true, false |
true |
onReply |
Whether or not to handle general responses to commands or informational messages. |
true, false |
false |
onNick |
Handle nickname change events. |
true, false |
true |
onQuit |
Handle user quit events. |
true, false |
true |
onJoin |
Handle user join events. |
true, false |
true |
onKick |
Handle kick events. |
true, false |
true |
onMode |
Handle mode change events. |
true, false |
true |
onPart |
Handle user part events. |
true, false |
true |
onTopic |
Handle topic change events. |
true, false |
true |
onPrivmsg |
Handle message events. |
true, false |
true |
trustManager |
Camel 2.0: The trust manager used to verify the SSL server's certificate. |
trustManager=#referenceToTrustManagerBean |
The default trust manager, which accepts all certificates, will be used. |
keys |
Camel 2.2: Comma separated list of IRC channel keys. Important to be listed in same order as channels. When joining multiple channels with only some needing keys just insert an empty value for that channel. |
irc:myn...@irc.server.org/#channel?keys=chankey |
null |
SSL Support
As of Camel 2.0, you can also connect to an SSL enabled IRC server, as follows:
ircs:host[:port]/#room?username=user&password=pass
By default, the IRC transport uses SSLDefaultTrustManager. If you need to provide your own custom trust manager, use the trustManager parameter as follows:
ircs:host[:port]/#room?username=user&password=pass&trustManager=#referenceToMyTrustManagerBean
Using keys
Available as of Camel 2.2
Some irc rooms requires you to provide a key to be able to join that channel. The key is just a secret word.
For example we join 3 channels where as only channel 1 and 3 uses a key.
irc:n...@irc.server.org?channels=#chan1,#chan2,#chan3&keys=chan1Key,,chan3key
See Also