fix: prefer dedicated telegram pricing group

This commit is contained in:
2569718930@qq.com
2026-05-18 16:22:16 +08:00
parent 6041d25f23
commit 1b2731ed12
2 changed files with 14 additions and 1 deletions
+4 -1
View File
@@ -89,12 +89,15 @@ def verify_telegram_login_payload(
class TelegramGroupPricing:
def __init__(self) -> None:
self.bot_token = str(os.getenv("TELEGRAM_BOT_TOKEN") or "").strip()
self.group_chat_ids = parse_telegram_chat_ids(
dedicated_group_chat_ids = parse_telegram_chat_ids(
os.getenv("POLYWEATHER_TELEGRAM_GROUP_ID"),
os.getenv("POLYWEATHER_TELEGRAM_GROUP_IDS"),
)
fallback_group_chat_ids = parse_telegram_chat_ids(
os.getenv("TELEGRAM_CHAT_IDS"),
os.getenv("TELEGRAM_CHAT_ID"),
)
self.group_chat_ids = dedicated_group_chat_ids or fallback_group_chat_ids
self.member_price = _decimal_env("POLYWEATHER_GROUP_MEMBER_PRICE_USDC", "5")
self.public_price = _decimal_env("POLYWEATHER_PUBLIC_PRICE_USDC", "10")
self.timeout_sec = max(
+10
View File
@@ -104,6 +104,16 @@ def test_group_pricing_treats_left_status_as_public_price(monkeypatch):
assert result["telegram_status"] == "left"
def test_dedicated_group_id_overrides_legacy_chat_ids(monkeypatch):
monkeypatch.setenv("TELEGRAM_BOT_TOKEN", "bot-token")
monkeypatch.setenv("POLYWEATHER_TELEGRAM_GROUP_ID", "-100internal")
monkeypatch.setenv("TELEGRAM_CHAT_IDS", "-100old")
pricing = TelegramGroupPricing()
assert pricing.group_chat_ids == ["-100internal"]
def test_payment_plan_uses_linked_telegram_group_price(monkeypatch, tmp_path):
monkeypatch.setenv("POLYWEATHER_PAYMENT_ENABLED", "true")
monkeypatch.setenv("SUPABASE_URL", "https://example.supabase.co")