За последние 24 часа нас посетили 73956 программистов и 10184 робота. Сейчас ищут 2336 программистов ...

Бот для вк. Кто знает vk api или лонг поллинг все сюда =)

Тема в разделе "PHP для новичков", создана пользователем Познающий php, 30 мар 2017.

  1. Познающий php

    Познающий php Новичок

    С нами с:
    23 мар 2017
    Сообщения:
    381
    Симпатии:
    74
    Всем шалом!
    Задача, для примера: Нужно на любое сообщение пользователя, присылать ему текущее время!

    Для этого есть очевидное решение, лонг полл запросы! Казалось бы все легко. я бы запустил вечный цикл и делал бы запросы каждые 90 секунд, обрабатывая их.

    Но на хостинге ограничение 1 минута выполнения скрипта. Значит надо делать лонг запрос длительностью ну скажем 58 секунд и юзать крон. раз в минуту. Но если в эту минуту будут сообщения или даже несколько, то есть вероятность что скрипт не успеет выполнить до конца весь код и что-то пропадет или пойдет криво. Что же мне каждый запрос таймером проверять и делать выход если скажем скрипт выполняется более 55 секунд? Пахнет говнокодом.

    Хотелось бы узнать как гуру php решают такие задачи наиболее оптимально.
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
    как связаны бот и лонгпул?
     
  3. Познающий php

    Познающий php Новичок

    С нами с:
    23 мар 2017
    Сообщения:
    381
    Симпатии:
    74
    бот ждет сообщение через лонг пол. запрос кидается - ответ когда время выйдет или когда будет сообщение.

    Мое единственное решение это засекать время выполнения скрипта, чтобы он не превышал отведенную ему минуту. для гарантии даже 58 секунд. Но мне кажется это хрень. Хотелось бы узнать как опытные люди делают.
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
    ну как-как, просто не вырубают пхп до истечения 90 секунд. Всё ж очевидно.
     
  5. Познающий php

    Познающий php Новичок

    С нами с:
    23 мар 2017
    Сообщения:
    381
    Симпатии:
    74
    Спасибо капитан. Я хочу узнать есть ли более красивые средства, чем делаю я - в рекурсивной функции чекать таймер выполнения скрипта и делать аборты. Может я чего не знаю...
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
    я же вроде тебе написал. почему ты не хочешь принять очевидную истину и перестать идти по пути максимального сопрокостыления?
     
  7. Познающий php

    Познающий php Новичок

    С нами с:
    23 мар 2017
    Сообщения:
    381
    Симпатии:
    74
    твои костыли слишком тяжкие для меня. придется свою тросточку юзать
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
    почему бы просто не сделать то, что я говорю? =) потому, что ты не умеешь настроить впс? ну найди другой хостинг, где скрипты через минуту не грохают. Вот и всё.
     
  9. Познающий php

    Познающий php Новичок

    С нами с:
    23 мар 2017
    Сообщения:
    381
    Симпатии:
    74
    Ща бы хостинг менять на каждой возникающей проблеме или на впс съежать начинающему познавателю веба ахаха. Нужно решать задачи в рамках заданных условий. Так и скажи что не знаешь :cool:
     
  10. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.875
    Симпатии:
    756
    Адрес:
    Татарстан
    я реально чето не догоняю? Зачем демон в фоне то?
    Тут же все просто - пришел запрос - инициировал выполнение пыхоскрипта - тот отдал время в ответ и умер, все....
     
  11. Познающий php

    Познающий php Новичок

    С нами с:
    23 мар 2017
    Сообщения:
    381
    Симпатии:
    74
    Ну я начинающий в php может не понимаю чего. Объясни, запрос же посылаем мы и ждем ответа. Как он сам из вк к нам придет на обработчик? Если есть такой простой способ, просьба озвучить его и я тебя расцелую милый человек!
     
  12. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.875
    Симпатии:
    756
    Адрес:
    Татарстан
    судя по этому описанию я понимаю что на любое сообщение пользователя БОТУ, нет?
     
  13. Познающий php

    Познающий php Новичок

    С нами с:
    23 мар 2017
    Сообщения:
    381
    Симпатии:
    74
    Не просто боту, а боту в вк, то есть сообщение отравляешь в вк - тебе в ответ время
     
  14. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.875
    Симпатии:
    756
    Адрес:
    Татарстан
    ну ты же не абстрактно отправляешь всему вк сообщение, а конкретно боту
     
  15. Познающий php

    Познающий php Новичок

    С нами с:
    23 мар 2017
    Сообщения:
    381
    Симпатии:
    74
    Как мой скрипт узнает когда пришло сообщение? Через вк апи. А там я знаю только такой способ, который описал в первом посте - фоновый скрипт отсылает запросы раз в минуту и ждет ответа. Пришло сообщение - отдает дату. Нет - сидит дальше ждет.

    Знаешь другой способ? Поделись!
     
  16. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.875
    Симпатии:
    756
    Адрес:
    Татарстан
    mahmuzar, Fell-x27 и Познающий php нравится это.
  17. Познающий php

    Познающий php Новичок

    С нами с:
    23 мар 2017
    Сообщения:
    381
    Симпатии:
    74
    Вот это спасибо!!! :rolleyes:Под самым носом было, а я такие костыли мудрил, даже подумать не мог, что они так могут упрощать жизнь разработчикам :eek::eek::eek::eek: А главное целую ночь гуглил по всякому про ботов в вк, хотел глянуть как же другие делают, даже не встретил нигде такой инфы :oops:
    Ща будет пробовать тестить
     
  18. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.294
    Симпатии:
    216
    Адрес:
    Default city
    Ты себе не представляешь что можно, если начать курить бекенд как таковой, с линуксами, очередями и масштабированием/шардированием.
    А официальную документацию так и не посмотрел, да ?

    Не познавай бро, не познавай. Иди в менеджеры, но только не в айти.
     
  19. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
    ну ахаха, так ахаха, ебись с костылями, хули.

    так и скажи, что перестал свою мамку трахать.
     
    TheHate нравится это.
  20. Познающий php

    Познающий php Новичок

    С нами с:
    23 мар 2017
    Сообщения:
    381
    Симпатии:
    74
    Уверен, что ты через 1,5 месяца изучения языка уже хуярил лучше, чем цукерберг, но не все же такие дофига одаренные. Кто-то помогает, как ADSoft, а кто-то только еблет по пустому открывает, как ты и модеруха. Тем более что это раздел для новичков, тут 6лять даже спрашивают, как к массиву в массиве обращаться. А ты тут такую хуету несешь.
    Зачем кому-то трахать свою, если твоя всем даёт. Она не очень, но водка и фантазия делает свое дело ;)
     
  21. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
    он мне не нравится