Indy 9
|
TIdIRC = class(TIdTCPClient)
The IRC (Internet Relay Chat) protocol is designed for use as a text-based conferencing mechanism using the TCP/IP network protocol. IRC uses a client-server model well-suited to spanning tree distributed processsing for message forwarding and delivery.
TIdIRC provides properties, and methods that implement the specifics of the IRC protocol for client usage, including IRC commands, Users, Channels, and Channel Operators. TIdIRC also implements event handlers that allow the IRC client to perform processing required based on notifications during receipt or transmission of IRC messages.
property AltNick: String;
property Away: Boolean;
property Channels: TIdIRCChannels;
property IRCThread: TIdIRCReadThread;
property Nick: String;
property Notify: TStringList;
property OnConnect: TNotifyEvent;
property OnDisconnect: TNotifyEvent;
property OnPingPong: TNotifyEvent;
property OnStateChange: TNotifyEvent;
property OnUserModeChanged: TNotifyEvent;
property Password: String;
property Port: integer;
property RealName: String;
property Replies: TIdIRCReplies;
property State: TIdIRCState;
property UserMode: TIdIRCUserModes;
property Username: String;
property Users: TIdIRCUsers;
procedure Action(ATarget: String; AMsg: String);
procedure ClearAwayMessage;
procedure Connect(const ATimeout: Integer = IdTimeoutDefault); override;
constructor Create(AOwner: TComponent); override;
procedure CTCPQuery(ATarget: String; ACommand: String; AParameters: String);
procedure CTCPReply(ATarget: String; ACTCP: String; AReply: String);
destructor Destroy; override;
procedure Disconnect(AForce: Boolean); overload; reintroduce;
function GetModeString: String;
procedure GetTopic(AChannel: String);
function IsChannel(AChannel: String): Boolean;
function IsOp(ANick: String): Boolean;
function IsVoice(ANick: String): Boolean;
procedure Join(AChannels: String; const AKeys: String = '');
procedure Kick(AChannel: String; ANick: String; AReason: String);
procedure Loaded; override;
function MatchHostmask(AAddress: PChar; AHostmask: PChar): Boolean;
procedure Mode(AChannel: String; AModes: String; const AParams: String = '');
procedure Notice(ATarget: String; AMsg: String);
procedure Part(AChannels: String; const AReason: String = '');
procedure Quit(AReason: String);
procedure Raw(ALine: String);
procedure Say(ATarget: String; AMsg: String);
procedure SetAwayMessage(AMsg: String);
procedure SetTopic(AChannel: String; ATopic: String);
property OnAction: TIdIRCOnMessage;
property OnAway: TIdIRCOnAway;
property OnBan: TIdIRCOnBan;
property OnChannelMode: TIdIRCOnChannelMode;
property OnChannelModeChanged: TIdIRCOnChannelModeChanged;
property OnChannelUpdate: TIdIRCOnChannelUpdate;
property OnCTCPQuery: TIdIRCOnCTCPQuery;
property OnCTCPReply: TIdIRCOnCTCPReply;
property OnDCCAccept: TIdIRCOnDCCAccept;
property OnDCCChat: TIdIRCOnDCCChat;
property OnDCCResume: TIdIRCOnDCCResume;
property OnDCCSend: TIdIRCOnDCCSend;
property OnDeop: TIdIRCOnOp;
property OnDevoice: TIdIRCOnOp;
property OnError: TIdIRCOnError;
property OnInvite: TIdIRCOnInvite;
property OnInviting: TIdIRCOnInviting;
property OnJoin: TIdIRCOnJoin;
property OnJoined: TIdIRCOnJoined;
property OnKick: TIdIRCOnKick;
property OnKicked: TIdIRCOnKicked;
property OnKill: TIdIRCOnKill;
property OnLinks: TIdIRCOnLinks;
property OnList: TIdIRCOnList;
property OnMessage: TIdIRCOnMessage;
property OnNames: TIdIRCOnNames;
property OnNickChange: TIdIRCOnNickChange;
property OnNickChanged: TIdIRCOnNickChanged;
property OnNicksInUse: TIdIRCOnNicksInUse;
property OnNotice: TIdIRCOnMessage;
property OnNoTopic: TIdIRCOnNoTopic;
property OnNowAway: TIdIRCOnAwayChange;
property OnOp: TIdIRCOnOp;
property OnPart: TIdIRCOnPart;
property OnParted: TIdIRCOnParted;
property OnQuit: TIdIRCOnQuit;
property OnRaw: TIdIRCOnRaw;
property OnReceive: TIdIRCOnSend;
property OnSend: TIdIRCOnSend;
property OnSocketError: TIdIRCOnSocketError;
property OnSystem: TIdIRCOnSystem;
property OnTopic: TIdIRCOnTopic;
property OnUnAway: TIdIRCOnAwayChange;
property OnUnban: TIdIRCOnBan;
property OnUnknownCommand: TIdIRCOnUnknownCommand;
property OnUserMode: TIdIRCOnUserMode;
property OnVoice: TIdIRCOnOp;
property OnWallops: TIdIRCOnWallops;