martuwka: сложно гадать, что мотивирует кого-то там так поступать. Для сравнения, методичная простановка 5 звёзд всем материалам вас не удивила бы? Практика показывает, что с ростом числа оценок, эффект от неадекватных индивидов полностью исчезает на общем фоне разнообразных оценок. Сужу по рейтингу, например, моего приложения ВК. Там тоже есть единицы, но их ничтожно мало по сравнению с 4–5 звёздами. Таким образом, я бы сосредоточил усилия на увеличении посещаемости, а не на борьбе с оценками от кого-то там одного.
В общем-то, всё элементарно: перебирать данные, и плюсовать 1 к той 15-минутке, в которую попадает время начала «удара». Вы же не хотите учитывать ещё и длительность удара, и заносить один сразу в две 15-минутки, если он начался в одной, а закончился уже в следующей?
Арсен Беспалов: я как раз вчера решал задачу отправки событий в Telegram и попробовал взять именно эту библиотеку. В итоге потратил немало времени, чтобы разобраться, т.к. документация скудна. Вывод: ради всего двух POST запросов терять время на разбор в чужом «всё сделано» в данной ситуации, когда я не публичного бота с кучей команд пилю, а всего лишь уведомлялку PHP -> Telegram, не стоило.
расписано там не очень подробно. Например, что делать с командами или как сделать отправку сообщения не ответом на пришедшее сообщение, а независимо, из командной строки. И для выполнения единственного POST запроса прикручивать целую библиотеку незачем.
Чем вас напугал полный перебор? Ведь без полного перебора – каждого комментария каждого поста за период – лайки не сосчитать. Крупное, не крупное, какая разница. Хоть 10 тыс постов по 1000 комментов к каждому – конечное число, конечное время. Можно паковать запросы в пачки по 25 методом execute(). Можно запускать этот парсинг в веб-воркерах в браузере или в фоне на сервере, чтобы время выполнения не имело значения.