есть один телеграм бот, который парсит rss ленту. Подскажите пожалуйста, как можно проверять на наличие новых записей в rss и сразу отправлять сообщение в бота?
$bot->command('feed', function ($message) use ($bot) {
$url = 'url';
$rss = simplexml_load_file($url);
foreach ($rss->channel->item as $item) {
$line_rss = ' '.$item->title.' ';
$line_rss .= ' '.$item->link.' ';
$line_rss .= $item->pubDate;
$line_rss .= ' <br>';
break;
}
$bot->sendMessage($message->getChat()->getId(), $line_rss);
});
Примерно такая идея
// имя файла где храним последнюю дату с полным путем
$lastPubDateFileName = 'file_path/lastPubDate.txt';
$bot->command('feed', function ($message) use ($bot, $lastPubDateFileName) {
// флаг, что мы уже выставили последнюю дату в этом запуске скрипта
$bLastPubDateSet = false;
// берем данные из файла, правда его может изначально не быть
if (file_exists($lastPubDateFileName)) {
$lastPubDate = file_get_contents($lastPubDateFileName);
} else {
$lastPubDate = 0;
}
$url = 'url';
$rss = simplexml_load_file($url);
foreach ($rss->channel->item as $item) {
// проверяем что дата из рсс больше даты из файла
if (strtotime($item->pubDate) > strtotime($lastPubDate)) {
$line_rss = ' '.$item->title.' ';
$line_rss .= ' '.$item->link.' ';
$line_rss .= $item->pubDate;
$line_rss .= ' <br>';
$bot->sendMessage($message->getChat()->getId(), $line_rss);
// устанавливаем последнюю дату один раз -
// поскольку рсс отсортирован от самых свежих к старым, нам надо это сделать с первым
if (!$bLastPubDateSet) {
$bLastPubDateSet = true;
file_put_contents($lastPubDateFileName, $item->pubDate);
}
} else {
// если элемент уже был послан, то и все дальше были посланы, выходим
break;
}
}
});
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Joomla 3Прикрутил возможность добавлять текстовые описания к тегам компонента CKK K2 Joomla
Здравствуйте, вот часть кода php, считывает данные с загруженного файла,