【发布时间】:2018-12-09 01:37:00
【问题描述】:
将我的机器人移动到新服务器后,我遇到了以下问题。我使用 webhook 来获取更新,但现在机器人没有从电报服务器获取它们。我尝试从删除服务器发送带有 curl 的 POST 请求,机器人以正常方式处理它。我使用 getWebhookInfo 检查了 webhook,它返回了一个具有非空 url 且 pending_update_count 等于 74 且没有错误的对象。我想,这意味着电报服务器由于某种原因无法向我的主机发送 POST 请求。
我的服务器的操作系统是 Arch Linux。
我使用 pyTelegramBotAP。
CONFIG = ConfigParser()
CONFIG.read(os.path.join('data', 'config.ini'))
# webhook url
URL_BASE = "https://{}:{}".format(CONFIG['server']['ip'], CONFIG.getint('server', 'port'))
URL_PATH = "/{}/".format(CONFIG['telegram bot']['token'])
BOT = telebot.TeleBot(CONFIG['telegram bot']['token'])
# server that will listen for new messages
APP = web.Application()
URL = URL_BASE + URL_PATH
BOT.set_webhook(url=URL, certificate=open(CONFIG['ssl']['certificate'], 'rb'))
# Build ssl context
CONTEXT = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
CONTEXT.load_cert_chain(CONFIG['ssl']['certificate'], CONFIG['ssl']['private key'])
# Start aiohttp server
web.run_app(
APP,
host=CONFIG['server']['listen'],
port=CONFIG['server']['port'],
ssl_context=CONTEXT,
)
请帮忙!
【问题讨论】:
标签: python server webhooks telegram-bot