function manageTimeBasedSlides() {
  // ID deiner Präsentation
  const PRESENTATION_ID = 'DEINE_PRÄSENTATIONS_ID';
  
  // Präsentation öffnen
  const presentation = SlidesApp.openById(PRESENTATION_ID);
  
  // Aktuelle Zeit
  const now = new Date();
  const currentHour = now.getHours();
  const currentMinute = now.getMinutes();
  const currentTime = currentHour * 60 + currentMinute; // Zeit in Minuten seit Mitternacht
  
  // Zeitfenster definieren (können Sie nach Bedarf anpassen)
  const timeWindows = {
    'morning': { start: '09:00', end: '12:00' },
    'lunch': { start: '12:00', end: '14:00' },
    'afternoon': { start: '14:00', end: '17:00' },
    'happy-hour': { start: '17:00', end: '19:00' },
    'evening': { start: '19:00', end: '23:00' }
  };
  
  // Hilfsfunktion zum Konvertieren von "HH:MM" in Minuten seit Mitternacht
  function timeToMinutes(timeString) {
    const [hours, minutes] = timeString.split(':').map(Number);
    return hours * 60 + minutes;
  }
  
  // Hilfsfunktion zum Prüfen, ob aktuelle Zeit in einem Zeitfenster liegt
  function isInTimeWindow(windowStart, windowEnd) {
    const startMinutes = timeToMinutes(windowStart);
    const endMinutes = timeToMinutes(windowEnd);
    return currentTime >= startMinutes && currentTime < endMinutes;
  }
  
  // Alle Folien durchgehen
  const slides = presentation.getSlides();
  
  slides.forEach((slide, index) => {
    const notes = slide.getNotesPage().getSpeakerNotesShape().getText().asString();
    
    // Verschiedene Zeitsteuerungsbefehle überprüfen
    
    // 1. Spezifische Zeitfenster
    // Syntax: #show-during: happy-hour
    const showDuringMatch = notes.match(/#show-during:\s*([\w-]+)/);
    if (showDuringMatch) {
      const timeWindow = timeWindows[showDuringMatch[1]];
      if (timeWindow) {
        slide.setSkipped(!isInTimeWindow(timeWindow.start, timeWindow.end));
      }
    }
    
    // 2. Benutzerdefinierte Zeiträume
    // Syntax: #show-time: 14:00-16:30
    const showTimeMatch = notes.match(/#show-time:\s*(\d{2}:\d{2})-(\d{2}:\d{2})/);
    if (showTimeMatch) {
      const [_, start, end] = showTimeMatch;
      slide.setSkipped(!isInTimeWindow(start, end));
    }
    
    // 3. Mehrere Zeitfenster
    // Syntax: #show-times: 09:00-12:00, 14:00-16:00
    const showTimesMatch = notes.match(/#show-times:\s*((?:\d{2}:\d{2}-\d{2}:\d{2}(?:,\s*)?)+)/);
    if (showTimesMatch) {
      const timeRanges = showTimesMatch[1].split(',').map(range => range.trim());
      let isVisible = false;
      
      for (const range of timeRanges) {
        const [start, end] = range.split('-');
        if (isInTimeWindow(start, end)) {
          isVisible = true;
          break;
        }
      }
      
      slide.setSkipped(!isVisible);
    }
  });
}

// Trigger erstellen für regelmäßige Überprüfung (z.B. alle 5 Minuten)
function createTimeBasedTrigger() {
  // Bestehende Trigger löschen
  const triggers = ScriptApp.getProjectTriggers();
  triggers.forEach(trigger => ScriptApp.deleteTrigger(trigger));
  
  // Neuen Trigger alle 5 Minuten erstellen
  ScriptApp.newTrigger('manageTimeBasedSlides')
    .timeBased()
    .everyMinutes(5)
    .create();
}

// Hilfsfunktion zum Hinzufügen oder Aktualisieren von benutzerdefinierten Zeitfenstern
function updateTimeWindow(name, startTime, endTime) {
  const userProperties = PropertiesService.getUserProperties();
  const timeWindows = JSON.parse(userProperties.getProperty('timeWindows') || '{}');
  
  timeWindows[name] = {
    start: startTime,
    end: endTime
  };
  
  userProperties.setProperty('timeWindows', JSON.stringify(timeWindows));
}

// Beispiel für das Hinzufügen eines neuen Zeitfensters
function addCustomTimeWindow() {
  // Beispiel: Neue "Coffee Break" Zeit hinzufügen
  updateTimeWindow('coffee-break', '10:30', '11:00');
}