anchor.diff:  procedure TIRC.SendChannelJoined;
   begin
     FOnChannelJoined(FChannel);
  +end;
  +
  +procedure TIRC.SendNickNameListReceived;
  +begin
  +  FOnNickListReceived(FChannel, FNicknameList)
  +end;
  +
  +procedure TIRC.SendParted;
  +begin
  +  FOnUserLeft(FChannel, FNickname);
  +end;
  +
  +procedure TIRC.SendServerMessage;
  +begin
  +  if FServerMessages <> nil then
  +    FLog.AddStrings(FServerMessages);
  +
  +  if FServerMessage <> '' then
  +    FLog.Add(FServerMessage);
  +
  +  FServerMessages := nil;
  +  FServerMessage := '';
  +end;
  +
  +procedure TIRC.SendUserJoined;
  +begin
  +  FOnUserJoined(FChannel, FNickname);
   end;
   
   procedure TIRC.Connect;
  
positive.code: end;
  
  procedure TIRC.MessageToChannel(const Message: string);
  begin
    FIdIRC.Say(FActiveChannel, Message);
    MessageReceived(FActiveChannel, FormatarMensagem(UserName, Message))
  end;
  
  
negative.code:   FLog.Add(AMsg);
  end;
  
  function TIRC.RemoveOPVoicePrefix(const Channel: string): string;
  begin
    Result := Channel;
    if FIdIRC.IsOp(Channel) or FIdIRC.IsVoice(Channel) then
      Result := Copy(Channel, 2, MaxInt);
  end;
  
  procedure TIRC.SendMessage;
  begin
    FOnMessageReceived(FChannel, FMessage);
  