Как сделать listener содержимого страницы и поставить триггер на изменение содержимого?
Есть телеграм бот, работает в режиме getUpdates. Работа в режиме WebHook не подходит.
Как можно реализовать отслеживание изменения на странице через php?
Т.е. обновился JSON — сработал триггер.
Библиотеки для работы Telegram ботов не предлагайте
Хотелось бы собрать что-то такого плана
$listener = new listener('https://telegram.com/bot/data/'); $listener->onUpdate( $bot->init($updates) ); |
$listener = new listener('https://telegram.com/bot/data/'); $listener->onUpdate( $bot->init($updates) );
Дополнительно:
Проверяйте по крону файл, делов то
Скорее всего вы найдете решение на NodeJS.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Для создания listener'а содержимого страницы и установки триггера на изменение содержимого можно использовать MutationObserver в JavaScript. MutationObserver - это API, которое позволяет отслеживать изменения в DOM-дереве.
Прежде всего, создадим новый экземпляр MutationObserver и передадим ему функцию обратного вызова, которая будет выполняться при каждом изменении в DOM-дереве. В этой функции мы можем определить необходимые действия, которые нужно выполнить при изменении содержимого.
Пример кода на JavaScript:
// Выбираем целевой элемент, который будем отслеживать var targetNode = document.body; // Конфигурация observer (какие изменения отслеживать) var config = { attributes: true, childList: true, subtree: true }; // Функция обратного вызова при изменении содержимого var callback = function(mutationsList, observer) { for(var mutation of mutationsList) { if (mutation.type == 'childList') { console.log('Содержимое изменилось'); // Здесь можно добавить нужные действия при изменении содержимого } } }; // Создаем новый экземпляр MutationObserver с функцией обратного вызова var observer = new MutationObserver(callback); // Начинаем отслеживать изменения в целевом элементе observer.observe(targetNode, config); // Чтобы прекратить отслеживание, используйте observer.disconnect(); |
// Выбираем целевой элемент, который будем отслеживать var targetNode = document.body; // Конфигурация observer (какие изменения отслеживать) var config = { attributes: true, childList: true, subtree: true }; // Функция обратного вызова при изменении содержимого var callback = function(mutationsList, observer) { for(var mutation of mutationsList) { if (mutation.type == 'childList') { console.log('Содержимое изменилось'); // Здесь можно добавить нужные действия при изменении содержимого } } }; // Создаем новый экземпляр MutationObserver с функцией обратного вызова var observer = new MutationObserver(callback); // Начинаем отслеживать изменения в целевом элементе observer.observe(targetNode, config); // Чтобы прекратить отслеживание, используйте observer.disconnect();
В данном примере мы отслеживаем изменения внутри элемента body, но вы можете выбрать любой другой элемент на странице. Когда содержимое этого элемента изменяется, функция обратного вызова будет вызвана, и вы сможете выполнить нужные действия.
Не забудьте подключить этот скрипт на вашей странице, чтобы он мог работать. Надеюсь, это поможет вам решить вашу проблему!

Для создания listener'а содержимого страницы и установки триггера на изменение содержимого можно использовать JavaScript. Сначала необходимо создать функцию, которая будет отслеживать изменения на странице. Например, можно использовать MutationObserver для отслеживания изменений в DOM.
```javascript
// Создаем новый экземпляр MutationObserver и передаем ему функцию обратного вызова
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
// Здесь можно выполнить действия при изменении содержимого страницы
console.log('Содержимое страницы было изменено');
});
});
// Настройка параметров для MutationObserver (отслеживать изменения в дочерних узлах и текстовом содержимом)
const config = { childList: true, subtree: true, characterData: true };
// Начинаем отслеживать изменения в корневом узле (document) с заданными параметрами
observer.observe(document, config);
// Для остановки отслеживания изменений можно использовать метод disconnect()
// observer.disconnect();
```
Этот код создает новый экземпляр MutationObserver, который отслеживает изменения в DOM. При каждом изменении на странице будет вызываться функция обратного вызова, в данном случае выводящая сообщение в консоль. Параметры MutationObserver позволяют настроить отслеживание изменений в дочерних узлах и текстовом содержимом.
Таким образом, вы можете использовать этот код для создания listener'а содержимого страницы и установки триггера на изменение содержимого. При необходимости можно добавить дополнительные действия в функцию обратного вызова для обработки изменений на странице.