anchor.diff:        procedure OnPrivateMessage(ASender: TIdContext; const ANickname, AHost, ATarget, AMessage: String);
         procedure OnNickNameListReceive(ASender: TIdContext; const AChannel: String; ANicknameList: TStrings);
         procedure OnJoin(ASender: TIdContext; const ANickname, AHost, AChannel: String);
  +      procedure OnLeave(ASender: TIdContext; const ANickname, AHost, AChannel, APartMessage: String);
         procedure OnWelcome(ASender: TIdContext; const AMsg: String);
       public
         property Log: TStrings read FLog write FLog;
         property ActiveChannel: string read FActiveChannel write FActiveChannel;
         property OnChannelJoined: TOnChannelJoined read FOnChannelJoined write FOnChannelJoined;
  +      property OnNickListReceived: TOnNickListReceived read FOnNickListReceived write FOnNickListReceived;
  +      property OnUserJoined: TOnUserEvent read FOnUserJoined write FOnUserJoined;
  +      property OnUserLeft: TOnUserEvent read FOnUserLeft write FOnUserLeft;
         property Ready: Boolean read FReady;
         procedure AutoJoinChannels;
         procedure Connect;
  
positive.code: end;
  
  procedure TIRC.OnNickNameListReceive(ASender: TIdContext; const AChannel: String; ANicknameList: TStrings);
  var
    S: string;
  begin
    AddChannelMessage(AChannel, 'Nick list');
    for S in ANicknameList do;
      AddChannelMessage(AChannel, S);
  end;
  
  procedure TIRC.OnJoin(ASender: TIdContext; const ANickname, AHost, AChannel: String);
  begin
    FLog.Add('Joined: ' + ANickname + ' - ' + AHost + ' - ' + AChannel);
    AddChannelMessage(AChannel, 'Joined: ' + ANickname);
  end;
  
  procedure TIRC.OnWelcome(ASender: TIdContext; const AMsg: String);
  
negative.code:       FActiveChannel: string;
        FIdIRC: TIdIRC;
        FOnChannelJoined: TOnChannelJoined;
        FOnNickListReceived: TOnNickListReceived;
        FOnUserJoined: TOnUserEvent;
        FOnUserLeft: TOnUserEvent;
        FAutoJoinChannels: TStrings;
  			FReady: Boolean;
        procedure AddChannelMessage(const Channel, Message: string);
  