Как сделать что бы каждый день в 7 вечера бот писал сообщение?

Новичок.

Хотел сделать так, что бы бот каждый день в 7 вечера писал сообщение в беседу VK с определенным текстом, но мой код пишет это сообщение весь час, вместо единоразового отправления

let time = setInterval(() => {
day = new Date();
hour = day.getHours();
if ( hour == 7 ) {
    api.messages.send({
        random_id: 0,
        chat_id: 1, 
        message: 'Вечер', 
    });
    clearInterval(time)
}, 5000)

Помогите пожалуйста, не знаю как решить данную проблему...


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

Автор решения: Firec

Так у тебя код с ошибкой. Вот по этому я всегда ставлю отступы...

let time = setInterval(() => {
    day = new Date();
    hour = day.getHours();
    if ( hour == 7 ) {
        api.messages.send({
            random_id: 0,
            chat_id: 1, 
            message: 'Вечер', 
        });
        clearInterval(time);
//  }, 5000) <--
    }
}, 5000);

Вот только это не поможет... После первого раза этот интервал очистится.

let time = setInterval(() => {
    day = new Date();
    hour = day.getHours();
    if ( hour == 7 ) {
        api.messages.send({
            random_id: 0,
            chat_id: 1, 
            message: 'Вечер', 
        });
    }
}, 1000*60*60);

Теперь каждый час будет проверяться.

→ Ссылка