[ZILANT] доработка параметров setwebhook для корректных callback'ов кнопок подписки
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit is contained in:
@@ -42,6 +42,12 @@ def main() -> int:
|
||||
"url": WEBHOOK_URL,
|
||||
"secret_token": WEBHOOK_SECRET,
|
||||
"max_connections": "40",
|
||||
# Иначе Telegram может сохранить старый список без callback_query
|
||||
"allowed_updates": json.dumps([
|
||||
"message",
|
||||
"edited_message",
|
||||
"callback_query",
|
||||
]),
|
||||
}
|
||||
print(f"RELAY_URL = {get_relay_url()}")
|
||||
print(f"WEBHOOK_URL = {WEBHOOK_URL}")
|
||||
|
||||
+9
-1
@@ -2,6 +2,7 @@ import os
|
||||
import logging
|
||||
import time
|
||||
import errno
|
||||
import json
|
||||
from dotenv import load_dotenv
|
||||
import telebot
|
||||
from telebot import apihelper
|
||||
@@ -1454,11 +1455,18 @@ def setup_webhook():
|
||||
raise RuntimeError("WEBHOOK_URL не задан")
|
||||
|
||||
api_url = bot_api_method_url(RESPONDER_BOT_TOKEN, "setWebhook")
|
||||
# Все значения — строки (form-urlencoded), как ожидает parse_qs на relay
|
||||
# Все значения — строки (form-urlencoded), как ожидает parse_qs на relay.
|
||||
# allowed_updates обязательно: если не указать, Telegram сохраняет прежнюю
|
||||
# настройку — часто без callback_query, и тогда кнопки «Подписаться»/«Справка» молчат.
|
||||
form = {
|
||||
"url": WEBHOOK_URL,
|
||||
"secret_token": WEBHOOK_SECRET,
|
||||
"max_connections": "40",
|
||||
"allowed_updates": json.dumps([
|
||||
"message",
|
||||
"edited_message",
|
||||
"callback_query",
|
||||
]),
|
||||
}
|
||||
logger.info(
|
||||
f"setWebhook через relay: delivery_url={WEBHOOK_URL}, "
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ def _ensure_webhook():
|
||||
Блокирующий flock — без гонки 4 воркеров и без 429.
|
||||
"""
|
||||
digest = hashlib.sha256(
|
||||
f"{WEBHOOK_URL}|{WEBHOOK_SECRET or ''}".encode("utf-8")
|
||||
f"{WEBHOOK_URL}|{WEBHOOK_SECRET or ''}|allowed_v2".encode("utf-8")
|
||||
).hexdigest()[:16]
|
||||
marker_path = f"/tmp/zilant_webhook_ok_{digest}"
|
||||
lock_path = "/tmp/zilant_webhook_setup.lock"
|
||||
|
||||
Reference in New Issue
Block a user