☃️ Whoops 7cs 🎉
Обычный бот создается через botfather - получается аккаунт без номера телефона userbot это если мой аккаунт с которого я пишу использовать
вот обычный бот на есп запускается легчайшим образом, а юзер бот я не могу даже либу найти
Василий
И в чем ценность этого? Только для очень медленного инета?
В смысле? Я вообще не понимаю нефига вебхук. Ип дай, сертификат дай. Профита ноль
Slava
В смысле? Я вообще не понимаю нефига вебхук. Ип дай, сертификат дай. Профита ноль
Через Вэбхук Телега сама будет тебе говорить о новых сообщениях, без запросов.
Василий
Через Вэбхук Телега сама будет тебе говорить о новых сообщениях, без запросов.
И. В чем сложность повешать один поток на опрос? Он ресурсов не ест
Василий
Ты же на есп не делаешь высоконагруженного бота
Slava
И. В чем сложность повешать один поток на опрос? Он ресурсов не ест
Каждую секунду спрашивать телегу. Это неэффективно в сравнении вэбхука. Но на есп нет вэбхука.
Василий
Каждую секунду спрашивать телегу. Это неэффективно в сравнении вэбхука. Но на есп нет вэбхука.
Ты не спрашиваешь. Ты послал запрос и он висит столько сколько задаёшь или пока данные не пойдут
Slava
вот обычный бот на есп запускается легчайшим образом, а юзер бот я не могу даже либу найти
Т.е. юзербот, это esp твои сообщения читает/шлет вместо телефона?
Slava
Ты не спрашиваешь. Ты послал запрос и он висит столько сколько задаёшь или пока данные не пойдут
Я правильно понял? Я спрашиваю телегу: "Есть новые сообщения? Ответь мне через минуту или как появится!" Далее я каждую секунду проверяю есть ли ответ от телеги, если нет, то через минуту опять спрашиваю телегу. ? И телега отвечает какт олько появится новое сообщение?
🤙🏻 ℙ𝔸𝕍𝔼𝕃
У них это все в апишке расписано
🤙🏻 ℙ𝔸𝕍𝔼𝕃
Можно просто с интервалом опрашивать и все
Slava
Ну тогда вопрос посуществу.... Эффективно-работающий код получения сообщений от телеги с лонгполинг и без него может кто показать?
🤙🏻 ℙ𝔸𝕍𝔼𝕃
Да там просто GET запрос, один сразу отвечает, другой висит открытм и по мере поступления выдает чанки данных
🤙🏻 ℙ𝔸𝕍𝔼𝕃
у меня нет кода на С
ainu
если есп кроме телеги и например температуры ничего не делает, посвистывая, то самое то
ainu
а если там процессор занят важным делом, то это контрэффективно
ainu
еще как даёт
ainu
секунду или около того на сформировать и зашифровать HTTPS
ainu
пусть там один байт даже
ainu
всё это время - аудио прервалось (и хорошо что объёма DMA кеша хватит - на самом деле нет), микрофон прервется, и так далее
ainu
секунду отправлять запрос, в худшем случае
ainu
JSON составить копейки
ainu
сформировать пакет тоже копейки
Василий
секунду отправлять запрос, в худшем случае
Так поток отдельный, пусть себе хоть час висит
ainu
а шифрование - это уже прерывание
ainu
Так поток отдельный, пусть себе хоть час висит
поток отдельный а ядер только два
ainu
и эти ядра постоянно дергаются очередью для других задач
ainu
хотя повторюсь - если это бот включить лампочку или узнать температуру (сидит в потолок плюет) - то вообще похер
ainu
то ест он не машинкой рулит в это же время и не светодиодную ленту моргает со звуком
Василий
и эти ядра постоянно дергаются очередью для других задач
Так вебхук то тоже не факт что на прерываниях работает
ainu
факт=)
ainu
ну, первый попавшийся код у меня так и работал
Василий
факт=)
Да ну? У вас есть исходники вифи?
ainu
у меня есть исходники simple cpp server
ainu
который выполнялся между тасками операционной системы в моменты xdelay
ainu
не я его писал.
ainu
но он 100% в режиме ожидания не устраивал пустой бесконечный цикл
ainu
да, в момент приёма остальное стопорилось
Василий
у меня есть исходники simple cpp server
Надеюсь вы по то который напрямую генерирует вифи, а то не понятно как оно там внутри
ainu
но это не так страшно
Василий
Прочитайте как get работает
ainu
Смешно
ainu
"почитайте"
ainu
я не GET слал
Василий
ainu
я в теле запроса передавал данные
ainu
причем пока идет настоящий длинный цикл с delay(), он в очередь ставил свои обработчики, и их обрабатывал
Василий
я не GET слал
Все. Я сдаюсь. Вы победили
ainu
никакого режима while (сокет_значение == 0) там нет
Slava
ainu
поэтому это 100% более эффективное решение чем каждую секунду долбить. Да, должен быть способ сделать Keepalive соединение и ждать команды (пуш с сервера). Но не знаю есть л и такое у телеги
ainu
Я решительно не понимаю, зачем мне "читать как работает GET"
Василий
Именно которые долго открываются
ainu
Допустим. И на сайты у которых большой TTFB (то есть долго отвечают) и на сайты которые долго открываются изза яваскрипта компилируемого, и на сайты которые долгий пинг, и на сайты, которые долго открывают соединение (потому что однопоточный сервер)
ainu
К чему это?
ainu
ну.
Василий
У тебя в этот момент нагрузка на твой процессор какая?
ainu
если большой TTFB то почти никакая. если сервер не открыл сокет (однопоточный) или высокий пинг экстремально, то конечно повыше, потому что хром пытается сделать это снова и снова. На десктопе не замечаем это дело.
ainu
большой TTFB - сокет открыт, ждем дальше
ainu
тут все как по маслу
Василий
Ты послал гет и ждёшь
ainu
вот это я и имел в виду Да, должен быть способ сделать Keepalive соединение и ждать команды (пуш с сервера). Но не знаю есть л и такое у телеги
ainu
Longpolling
ainu
но это не вяжется со сказанным выше долбить раз в секунду
ainu
открыть соединение и ждать ответа - это норм
ainu
долбить раз в секунду, как чаты в 90-х работали - нет, не норм
ainu
нормальный лонгполлинг это не раз в секунду
ainu
не знаю, 10-20-30 секунд. если отвалилось через пять минут - то реконнект через пять минут. Держит час - значит час