Развертывание бота телеграммы на 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,
)