anchor.diff:        procedure OnWelcome(ASender: TIdContext; const AMsg: String);
         procedure RemoveEvents;
         function RemoveOPVoicePrefix(const Channel: string): string;
  +      procedure Say(const Channel, Msg: string);
         procedure SendMessage;
         procedure SendChannelJoined;
         procedure SendNickNameListReceived;
  
positive.code:       procedure AutoJoinChannels;
        procedure Connect;
        procedure Disconnect;
        procedure JoinChannel(const Name: string);
        procedure LeaveChannel(const Name: string);
        procedure SendMessage(const Message: string);
        constructor Create;
        destructor Destroy; override;
  
negative.code:   end;
  end;
  
  procedure TIRC.Join(const Name: string);
  begin
    try
      FIdIRC.Join(Name);
     except
       on E: EIdException do
         HandleIdException(E);
     end;
  end;
  
  procedure TIRC.Part(const Name: string);
  begin
    try
      FIdIRC.Part(Name);
    except
      on E: EIdException do
        HandleIdException(E);
    end;
  end;
  
  procedure TIRC.SendMessage(const Message: string);
  