Задать вопрос
  • Почему лагает Telegram бот на PHP?

    @adsiflov Автор вопроса
    Что ж... Думал, что активность здесь повыше... Ну ладно. Дублирование сообщений помог прекратить код ниже.
    function perevir($id_mess, $tg_id_user_mess, $date_mess){
        $qwery = sqliQuery("SELECT * FROM `zaroby_mess` WHERE `id_mess`='$id_mess' AND `tg_id_user_mess`='$tg_id_user_mess' AND `date_mess`='$date_mess'");
        if(mysqli_num_rows($qwery)>0){
            return exit;
        }
        else{
            sqliQuery("INSERT INTO `zaroby_mess` (`id_mess`, `tg_id_user_mess`, `date_mess`) VALUES('$id_mess', '$tg_id_user_mess', '$date_mess')");
        }
    }

    Если на запрос телеграм, сервер отвечает сообщением "OK 200", то всё хорошо. Если нет, то через минуту телега посылает ещё один запрос. В итоге может произойти так, что бот может отреагировать на запрос телеги несколько раз. Проверка поможет это исключить. Чтобы очищать базу можно подключить крон.
    Код в вопросе, если что, создан на быструю руку для проверки работоспособности кода. Так писать не надо) Нужно хотя бы исключить возможность SQL-инъекций, не говоря уже про оптимизацию кода и всего прочего. Платформу QNA Habr покидаю. Всех благ)
    Ответ написан
    Комментировать