# IRCClientChannel Class Reference

Represents a connected IRC Channel. More...

`#import <IRCClientChannel.h>`

Inheritance diagram for IRCClientChannel:

List of all members.

## Public Member Functions

(id) | - initWithName:
(int) | - part
(int) | - invite:
(void) | - setTopic:
(int) | - setMode:params:
(int) | - message:
(int) | - action:
(int) | - notice:
(int) | - kick:reason:
(int) | - ctcpRequest:

## Properties

id | delegate
NSString * | name
NSStringEncoding | encoding
IRCClientSession * | session
NSString * | topic
NSString * | modes
NSMutableArray * | names

## Detailed Description

Represents a connected IRC Channel.

IRCClientChannel objects are created by the IRCClientSession object for a given session when the client joins an IRC channel. At that time you are expected to register event handlers for each of the delegate methods described in the IRCClientChannelDelegate interface.

## Member Function Documentation

- (int) action: |  | (NSString *) | action |  |

Sends a public CTCP ACTION to the channel.

Parameters:

  | action | action to send to the channel.

- (int) ctcpRequest: |  | (NSString *) | request |  |

Sends a CTCP request to the channel.

It is perfectly legal to send a CTCP request to an IRC channel, however many clients decline to respond to them, and often they are percieved as annoying.

Parameters:

  | request | the string of the request, in CTCP format.

- (id) initWithName: |  | (NSString *) | aName |  |

initWithName:

Returns an initialised IRCClientChannel with a given channel name. You are not expected to initialise your own IRCClientChannel objects; if you wish to join a channel you should send a [IRCClientSession join:key:] message to your IRCClientSession object.

Parameters:

  | aName | Name of the channel.

- (int) invite: |  | (NSString *) | nick |  |

Invites another IRC client to the channel.

Parameters:

  | nick | the nickname of the client to invite.

- (int) kick: |  | (NSString *) | nick
reason: |  | (NSString *) | reason |

Kicks someone from a channel.

Parameters:

  | nick | the IRC client to kick from the channel.
  | reason | the message to give to the channel and the IRC client for the kick.

- (int) message: |  | (NSString *) | message |  |

Sends a public PRIVMSG to the channel. If you try to send more than can fit on an IRC buffer, it will be truncated.

Parameters:

  | message | the message to send to the channel.

- (int) notice: |  | (NSString *) | notice |  |

Sends a public NOTICE to the channel.

Parameters:

  | notice | message to send to the channel.

- (int) part |  |  |  |

Parts the channel.

- (int) setMode: |  | (NSString *) | mode
params: |  | (NSString *) | params |

Sets the mode of the channel.

Note that not all users on a channel have permission to change the mode; if you fail to set the mode, then you will not see an onMode event on the IRCClientChannelDelegate.

Parameters:

  | mode | the mode to set the channel to
  | params | paramaters for the mode, if it requires parameters.

- (void) setTopic: |  | (NSString *) | aTopic |  |

Sets the topic of the channel.

Note that not all users on a channel have permission to change the topic; if you fail to set the topic, then you will not see an onTopic event on the IRCClientChannelDelegate.

Parameters:

  | aTopic | the topic the client wishes to set for the channel.

## Property Documentation

- (id) delegate`[read, write, assign]`

Delegate to send events to

- (NSStringEncoding) encoding`[read, write, assign]`

Encoding used by this channel

- (NSString *) modes`[read, write, copy]`

Mode of the channel

- (NSString *) name`[read, write, copy]`

Name of the channel

- (NSMutableArray *) names`[read, assign]`

An array of nicknames stored as NSStrings that list the connected users for the channel

- (IRCClientSession *) session`[read, write, assign]`

Associated IRCClientSession object

- (NSString *) topic`[read, write, copy]`

Topic of the channel

The documentation for this class was generated from the following files:

- IRCClientChannel.h
- IRCClientChannel.m