Телеграм бот перестал отвечать, как быть?

Рейтинг: 0Ответов: 1Опубликовано: 30.04.2023

В качестве либы для бота изначально взял grammy, использовал Long Polling. Неделю назад все работало стабильно. Вчера решил продолжить заниматься и бот просто перестал отвечать. Перекопал кучу вариантов. Снес вообще сервер, поставил чистую ОС и все равно не работает. Пробовал подключать другую либу для работы с ботом - 0 эффекта Попробовал вывести ошибку в коде

fetch('https://api.telegram.org/botTOKEN/getUpdates').then(() => console.log(1)).catch((error) => console.log(error))

Получаю такую ошибку

TypeError: fetch failed
    at Object.fetch (node:internal/deps/undici/undici:11457:11)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  cause: Error: connect EHOSTUNREACH 2001:67c:4e8:f004::9:443
      at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1494:16) {
    errno: -113,
    code: 'EHOSTUNREACH',
    syscall: 'connect',
    address: '2001:67c:4e8:f004::9',
    port: 443
  }
}

Так же попробовал вывести ошибку из метода либы

bot.api.sendMessage(930544355, "Hi!").then(() => console.log(1)).catch((error) => console.log(error));

Выдает ошибку

HttpError: Network request for 'sendMessage' failed!
    at /var/www/node_modules/grammy/out/core/error.js:74:15
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async ApiClient.call (/var/www/node_modules/grammy/out/core/client.js:52:29)
    at async ApiClient.callApi (/var/www/node_modules/grammy/out/core/client.js:82:22) {
  error: FetchError: request to https://api.telegram.org/botTOKEN/sendMessage failed, reason: connect EHOSTUNREACH 2001:67c:4e8:f004::9:443
      at ClientRequest.<anonymous> (/var/www/node_modules/node-fetch/lib/index.js:1505:11)
      at ClientRequest.emit (node:events:513:28)
      at TLSSocket.socketErrorListener (node:_http_client:502:9)
      at TLSSocket.emit (node:events:513:28)
      at emitErrorNT (node:internal/streams/destroy:151:8)
      at emitErrorCloseNT (node:internal/streams/destroy:116:3)
      at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
    type: 'system',
    errno: 'EHOSTUNREACH',
    code: 'EHOSTUNREACH'
  }
}

При этом если я делаю запросы curl'ом - все хорошо, если я локально разворачиваю и включаю бота все хорошо, если вбиваю через адресную строку все хорошо. В тех поддержки хостинга (timeweb) говорят что не блокируют трафик. Может ли сам телеграм закрывать доступ для каких-либо серверов(Хотя тогда бы наверное curl то же не работал)? Сталкивался кто с подобным? Как это можно решить? Хостинг базируется в рф, может быть с этим связанна проблема(неделю назад все было ок на хосте)?

Ответы

▲ 0

Попробуй токен поменять У меня была такая проблема. Бот вообще не получал запросов, я понять не мог, в чём дело. В итоге токен поменял и всё заработало. В ботфазер есть кнопка remove current token. После чего он выдаст тебе новый токен