Развертывание бота телеграммы на Render.com отказано в разрешении

Я новичок в python-telegram-bot и пытаюсь развернуть своего бота на Render как веб-службу. Render предоставляет мне хук для развертывания, и я добавил WEBHOOK_URL для запуска моего бота application.run_webhook(webhook_url=WEBHOOK_URL) . Он начинает выдавать мне предупреждение Errno 13 Permission Denied, как только я развертываю его на Render. Я использую python-telegram-bot v20.0. Любая помощь будет признательна.

      application = Application.builder().token(BOT_API_KEY).build()

application.add_handler(CallbackQueryHandler(yes, pattern='^yes'))
application.add_handler(CallbackQueryHandler(no, pattern='^no'))
application.add_handler(CallbackQueryHandler(cancel, pattern='cancel'))

application.run_webhook(
    listen='127.0.0.1',
    port=80,
    url_path='',
    webhook_url=WEBHOOK_URL,
)

Я протестировал его на своем компьютере локально с помощью ngrok, и он отлично работает.

1 ответ

Вы не можете использовать порт 80 в рендере. Получить порт из переменных окружения.

      port = os.environ.get('PORT')
print(port)

Если это печатаетNone, пытаться:

      port = os.environ.get('$PORT')
print(port)

Затем,

      application.run_webhook(
    listen='127.0.0.1',
    port=port,
    url_path='',
    webhook_url=WEBHOOK_URL,
)
Другие вопросы по тегам