Бот Telegram перестает работать через пару месяцев / недель - PullRequest
0 голосов
/ 26 февраля 2019

Мой бот Telegram имеет бэкэнд php.Я установил крюк на основе официального руководства.Много раз бот перестает отвечать, и я понимаю, что сервер Telegram не запускает назначенный веб-хук.Когда я удаляю этого бота и создаю нового бота с тем же идентификатором, проблема остается, если я не создаю бота с другим идентификатором.Кто-нибудь сталкивался с такой проблемой?

1 Ответ

0 голосов
/ 02 июня 2019

Итак, я понял это сейчас.Прежде всего, это не заказной сертификат.Это потому, что вашему серверу потребовалось более 60 секунд, чтобы ответить на серверы Telegram.у вас есть предыдущие сообщения, сложенные на серверах Telegram.Таким образом, вы должны отпустить их с помощью deleteWebHook и затем снова установитьWebook.После этого скопируйте этот код в начало вашего кода:

<?php
    set_time_limit(0);
    ignore_user_abort(true);
    $out =  json_encode([
      'method'=>'sendMessage',
      'chat_id'=>$my_chat_id,
      'text'=> "Starting process..."
      ]);   
    echo $out;
    header('Connection: close');
    header('Content-Length: '.strlen($out));
    header("Content-type:application/json");
    flush();
    if (function_exists('fastcgi_finish_request')) {
        fastcgi_finish_request();
    }

Он отвечает на серверы Telegram, чтобы они перестали ждать.Взято с здесь .

...