我有麻烦让webhooks工作。我有一个服务器运行在pythonanywhere上。我用正确的提示设置run_webhooks()。当我使用命令eg /start时,它会将请求发送到服务器,但它没有响应/工作。我正在使用flask,python电报机器人和python任何地方
class TeleBot:
def __init__(self):
self.bot_api = bot_api
self.application = ApplicationBuilder().token(self.bot_api).build()
def addhandler(self):
start_handler = CommandHandler('start', self.start, filters=filters.COMMAND)
self.application.add_handler(start_handler)
print('added')
self.application.run_webhook(
listen='0.0.0.0',
port=8443,
url_path='',
secret_token='secretphrase',
key='private.key',
webhook_url=f'https://api.telegram.org/bot{bot_api}/setWebhook?url=https://{my_username}.pythonanywhere.com/',
)
async def start(self, update, context):
print('ping')
chat_id = update.effective_chat.id
await context.Bot.sendMessage(chat_id=chat_id, text='Hey')
if __name__ == '__main__':
telebot = TeleBot()
telebot.addhandler()
服务器日志:“POST / HTTP/1.1”200 17“-”“-”
所以当我做/开始的时候,它正确地接收了post请求,但是它没有从那里发送消息或其他任何东西
1条答案
按热度按时间cgyqldqp1#
这不是
webhook_url
的填充方式。你应该传递webhook_url=f"https://{my_username}.pythonanywhere.com/"
,即Telegram应将更新发送到URL。请务必阅读PTB wiki page on webhooks。出于调试目的,您可能需要1.在调试时设置日志记录级别
1.手动调用
getWebhookInfo
context.wizardBot
似乎是未定义的。否认:我目前是
python-telegram-bot
的维护者。