Вывод оповещения на сайте в определённое время с интервалом

Подскажите как можно реализовать вывод оповещения на сайте с 12 до 16 в будние дни через 30 секунд после захода пользователя? Сейчас вывод оповещения производиться по нажатию кнопки.

<script>
const toastTrigger = document.getElementById('c-dinner')
    const toastCDinner = document.getElementById('cDinner')
    if (toastTrigger) {
    toastTrigger.addEventListener('click', () => {
        const toast = new bootstrap.Toast(toastCDinner)
    
        toast.show()
    })
    }
</script>

Ответы (1 шт):

Автор решения: the_Solomon
const run = () => {
    const date = new Date();
  const hour = date.getHours()
    const day = date.getDay()
  
  if (
    (hour >= 12 && hour < 16) &&
    (day >= 1 && day <= 5)
  ) {
    setTimeout(() => {
        console.log('message')
    }, 1000 * 30)
  }
};



run()

UPD:

const run = () => {
    const date = new Date();
    const hour = date.getHours()
    const day = date.getDay()
    
    const toastCDinner = document.getElementById('cDinner');

  if (
    (hour >= 12 && hour < 16) &&
    (day >= 1 && day <= 5)
  ) {
    setTimeout(() => {
        toast.show()
    }, 1000 * 30)
  }
};



run()
→ Ссылка