Я уже думал на эту тему, относительно примера от hMartin, для своего инлайн бота
На тот момент когда думал, ничего дельного в голову не пришло, а сейчас вот думаю, что методом дихотомии вполне себе сносно можно определить id крайнего поста в канале.
Простым чекингом с потолка взятого id можно найти последний с относительно небольшими затратами ресурсов серверной части.
Например:
1. чекаем достаточно большой id, пусть будет 100к t.me/lentach/100000
видим, что ссылки не существует, поста с таким id нет
2. Делим пополам, чекаем t.me/lentach/50000
аналогичная ситуация
3. Делим пополам, чекаем t.me/lentach/25000
а вот по этой ссылке пост уже есть, проверяем дальше
4. t.me/lentach/37500
Поста снова нет, снова берем половину между тем где было и где нет 25к и 37.5к
5. t.me/lentach/31250
Снова попали — думаю смысл ясен: делим пополам пока разница между верхней и нижней границей больше одного, в остатке получим точный id, при старте с id в 100k, нам потребуется 17 итераций (вроде), простого деления на 2 и проверки кода http, что для серверной части раз в какое то время совсем даже не сложная задача. Записываем last_id в файл или базу — профит.
А чем не устроили те же умные браслеты? Они стоят дешевле, а польза есть: они и нотификации вибрируют и вибробудильник есть (иногда даже умный) и статистику записывают.
Если так нужны например звуки или еще чтото, есть китайские часы (кстати меньше и симпатичнее), дороже на тысячу, но это целый смартфон на руке.
Я не имею ничего против, но преимуществ не вижу
очень давно жду эту функцию
На тот момент когда думал, ничего дельного в голову не пришло, а сейчас вот думаю, что методом дихотомии вполне себе сносно можно определить id крайнего поста в канале.
Простым чекингом с потолка взятого id можно найти последний с относительно небольшими затратами ресурсов серверной части.
Например:
1. чекаем достаточно большой id, пусть будет 100к t.me/lentach/100000
видим, что ссылки не существует, поста с таким id нет
2. Делим пополам, чекаем t.me/lentach/50000
аналогичная ситуация
3. Делим пополам, чекаем t.me/lentach/25000
а вот по этой ссылке пост уже есть, проверяем дальше
4. t.me/lentach/37500
Поста снова нет, снова берем половину между тем где было и где нет 25к и 37.5к
5. t.me/lentach/31250
Снова попали — думаю смысл ясен: делим пополам пока разница между верхней и нижней границей больше одного, в остатке получим точный id, при старте с id в 100k, нам потребуется 17 итераций (вроде), простого деления на 2 и проверки кода http, что для серверной части раз в какое то время совсем даже не сложная задача. Записываем last_id в файл или базу — профит.
Если так нужны например звуки или еще чтото, есть китайские часы (кстати меньше и симпатичнее), дороже на тысячу, но это целый смартфон на руке.
Я не имею ничего против, но преимуществ не вижу