Skip to content

Instantly share code, notes, and snippets.

@bushaev-denis
Last active May 3, 2024 05:35
Show Gist options
  • Save bushaev-denis/18cb57940430c3822693b9cbaff1ad37 to your computer and use it in GitHub Desktop.
Save bushaev-denis/18cb57940430c3822693b9cbaff1ad37 to your computer and use it in GitHub Desktop.
Kdmid calendar notify has available record
const beep = () => {
const context = new AudioContext();
const oscillator = context.createOscillator();
oscillator.type = "sawtooth";
oscillator.frequency.value = 1200;
oscillator.connect(context.destination);
oscillator.start();
if (confirm('Появилась запись')) {
oscillator.stop();
}
}
const randSeconds = (n, x) => Math.floor(Math.random() * (x * 1000 - n * 1000 + 1) + n * 1000);
const text = 'В настоящий момент на интересующее Вас консульское действие в системе предварительной записи нет свободного времени'.toLowerCase().replace(/\s+/g, ''); // text to find
const time = 60; // in sec
if (/\.kdmid\.ru\/queue\/SPCalendar\.aspx/.test(location.href)) {
const nodeText = document.querySelector('#desk #center-panel')?.textContent.toLowerCase().replace(/\s+/g, '') || '';
if (!nodeText.includes(text)) {
console.log('found')
beep();
} else {
console.log('start timer')
setTimeout(() => location.reload(), randSeconds(60, 90))
}
};
@bushaev-denis
Copy link
Author

bushaev-denis commented Nov 1, 2022

Основной мануал здесь https://gist.github.com/dez64ru/a3786cc30f79a63469ba9ce9ae647555
Тут нужно зайти только на другой и дойти до другого экрана, все остальное применимо к этому
telegram-cloud-photo-size-2-5404795268173513259-y

UPD[2.05.2024]: Слегка обновил код, протестировано сегодня, все должно работать. (Единственное но, обязательно необходимо вручную включить звук для домена через настройки браузера).

@zoobond
Copy link

zoobond commented Dec 8, 2022

Добрый день.
Запуск скрипта чтобы кнопка появилась в углу?
Скопировал из скрипта на https://gist.github.com/dez64ru/a3786cc30f79a63469ba9ce9ae647555 не помогло

@ViktorTimkin
Copy link

ViktorTimkin commented Dec 8, 2022

Добрый день. Запуск скрипта чтобы кнопка появилась в углу? Скопировал из скрипта на https://gist.github.com/dez64ru/a3786cc30f79a63469ba9ce9ae647555 не помогло

Это код для сайта посольства Гюмри. У него нет кнопки для запуска. После того как вы вставите этот код и сделаете всё по инструкции, расширение автоматический начнёт обновлять страницу и сканировать фразу: "В настоящий момент на интересующее.... итд" и если вместо этой фразы появляется что-то другое, к примеру открывается запись, то расширение подаёт сигнал. Фронтендеры поправьте меня если я ошибаюсь.

@zoobond
Copy link

zoobond commented Dec 8, 2022

Добрый день. Запуск скрипта чтобы кнопка появилась в углу? Скопировал из скрипта на https://gist.github.com/dez64ru/a3786cc30f79a63469ba9ce9ae647555 не помогло

Это код для сайта посольства Гюмри. У него нет кнопки для запуска. После того как вы вставите этот код и сделаете всё по инструкции, расширение автоматический начнёт обновлять страницу и сканировать фразу: "В настоящий момент на интересующее.... итд" и если вместо этой фразы появляется что-то другое, к примеру открывается запись, то расширение подаёт сигнал. Фронтендеры поправьте меня если я ошибаюсь.

да я с ереванского скопировал часть кода с кнопкой где и вставил в этот но видимо это не требуется и все вроде работает
let started = false;
const buttonText = ['▶ запустить скрипт️', '⏸ остановить скрипт'];

const Button = document.createElement('button');
Button.style.cssText = 'position: fixed; top: 20px; left: 20px; font-size: 1.5rem';
Button.textContent = buttonText[0];
document.documentElement.appendChild(Button)

Button.addEventListener('click', () => {
started = !started;
Button.textContent = buttonText[Number(started)];
start();
})

@bushaev-denis
Copy link
Author

Отвечая на комментарии, кнопку тут добавлять бесполезно (по крайней мере мне лень глубоко копать), но в данном случае я просто обновляю страницу и смотрю изменения текста. Поэтому вам каждый раз нужно было бы наживать эту кнопку. Я обновил сегодня код, он запускается сам, но единственное, что вам нужно сделать иначе от сайта загранников - обязательно включить звук для нужного вам домена, чтоб звуковое уведомление сработало.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment