Непонятно почему вы говорите о clearTimeout()
..
Если я правильно понял, у вас должно быть "два ожидания": сначала через 2 часа выводим сообщение, потом через 2 часа мы его же удаляем.
Следовательно нужно два таймера:
let delay = 2 * 60 * 60 * 1000; // 2 часа
// Запускаем первый таймер, по истечению которого показываем сообщение
let timer = setTimeout(() => {
// Тут вы выводите сообщение и сохраняете в переменную ID сообщение, чтобы потом удалить его.
// Запускаем второй таймер, где уже удалим сообщение
timer = setTimeout(() => {
// Удаляем сообщение.
}, delay);
}, delay);
clearTimeout поэтому не подходит, у него нет параметров времени.
А вы читали документацию?
const timer = setTimeout(() => { // Запускаем таймер
clearTimeout(timer); // Очищаем его.
alert('Если ты еще не освоился, перейди в канал ...');
}, 2 * 60 * 1000)
А вообще, это не обязательно делать, т.к. он выполняет один раз, в отличии от setInterval(), что запускается через каждый delay
.