From e480356447778e8196bb134cde35c14edae48e16 Mon Sep 17 00:00:00 2001 From: Legacyyy777 <162005411+Legacyyy777@users.noreply.github.com> Date: Sat, 4 Oct 2025 09:21:49 +0500 Subject: [PATCH 1/5] =?UTF-8?q?=D0=9E=D0=BF=D1=82=D0=B8=D0=BC=D0=B8=D0=B7?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B0=20=D0=BE=D0=B1=D1=80?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D0=B0=20=D0=BF=D0=BE=D0=B4=D0=BA?= =?UTF-8?q?=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BA=20=D0=91?= =?UTF-8?q?=D0=94=20=D0=B2=20WebhookServer.=20=D0=A3=D0=B4=D0=B0=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D1=86=D0=B8=D0=BA=D0=BB=20async=20for,=20=D0=B4?= =?UTF-8?q?=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BE=D0=B1?= =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D0=B0=20=D0=B8=D1=81=D0=BA?= =?UTF-8?q?=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=BF=D1=80=D0=B8?= =?UTF-8?q?=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D0=B8=20?= =?UTF-8?q?=D1=81=D0=BE=D0=B5=D0=B4=D0=B8=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D1=81=20=D0=91=D0=94.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/external/webhook_server.py | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/app/external/webhook_server.py b/app/external/webhook_server.py index f5fd530d..d11f75da 100644 --- a/app/external/webhook_server.py +++ b/app/external/webhook_server.py @@ -133,20 +133,23 @@ class WebhookServer: payment_service = PaymentService(self.bot) - async for db in get_db(): - try: - success = await payment_service.process_mulenpay_callback(db, payload) - if success: - return web.json_response({"status": "ok"}, status=200) - return web.json_response({"status": "error", "reason": "processing_failed"}, status=400) - except Exception as error: - logger.error(f"Ошибка обработки Mulen Pay webhook: {error}", exc_info=True) - return web.json_response({"status": "error", "reason": "internal_error"}, status=500) - finally: - break + # Получаем соединение с БД + db_generator = get_db() + db = await db_generator.__anext__() - # Если не удалось получить соединение с БД - return web.json_response({"status": "error", "reason": "database_error"}, status=500) + try: + success = await payment_service.process_mulenpay_callback(db, payload) + if success: + return web.json_response({"status": "ok"}, status=200) + return web.json_response({"status": "error", "reason": "processing_failed"}, status=400) + except Exception as error: + logger.error(f"Ошибка обработки Mulen Pay webhook: {error}", exc_info=True) + return web.json_response({"status": "error", "reason": "internal_error"}, status=500) + finally: + try: + await db_generator.__anext__() + except StopAsyncIteration: + pass except Exception as error: logger.error(f"Критическая ошибка Mulen Pay webhook: {error}", exc_info=True) From 35fc39b9f2a061e80b787a36501551d6dfb43f7a Mon Sep 17 00:00:00 2001 From: Egor Date: Sat, 4 Oct 2025 07:37:13 +0300 Subject: [PATCH 2/5] Update docker-hub.yml --- .github/workflows/docker-hub.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-hub.yml b/.github/workflows/docker-hub.yml index c3c25e11..c91ae0ac 100644 --- a/.github/workflows/docker-hub.yml +++ b/.github/workflows/docker-hub.yml @@ -36,15 +36,15 @@ jobs: TAGS="fr1ngg/remnawave-bedolaga-telegram-bot:latest,fr1ngg/remnawave-bedolaga-telegram-bot:${VERSION}" echo "🏷️ Собираем релизную версию: $VERSION" elif [[ $GITHUB_REF == refs/heads/main ]]; then - VERSION="v2.4.2-$(git rev-parse --short HEAD)" + VERSION="v2.4.3-$(git rev-parse --short HEAD)" TAGS="fr1ngg/remnawave-bedolaga-telegram-bot:latest,fr1ngg/remnawave-bedolaga-telegram-bot:${VERSION}" echo "🚀 Собираем версию из main: $VERSION" elif [[ $GITHUB_REF == refs/heads/dev ]]; then - VERSION="v2.4.2-dev-$(git rev-parse --short HEAD)" + VERSION="v2.4.3-dev-$(git rev-parse --short HEAD)" TAGS="fr1ngg/remnawave-bedolaga-telegram-bot:dev,fr1ngg/remnawave-bedolaga-telegram-bot:${VERSION}" echo "🧪 Собираем dev версию: $VERSION" else - VERSION="v2.4.2-pr-$(git rev-parse --short HEAD)" + VERSION="v2.4.3-pr-$(git rev-parse --short HEAD)" TAGS="fr1ngg/remnawave-bedolaga-telegram-bot:pr-$(git rev-parse --short HEAD)" echo "🔀 Собираем PR версию: $VERSION" fi From e96010d24d6c20586dd9ae13b9cb8b89d333ef05 Mon Sep 17 00:00:00 2001 From: Egor Date: Sat, 4 Oct 2025 07:37:32 +0300 Subject: [PATCH 3/5] Update docker-registry.yml --- .github/workflows/docker-registry.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-registry.yml b/.github/workflows/docker-registry.yml index 246f0ecb..bc1ecd22 100644 --- a/.github/workflows/docker-registry.yml +++ b/.github/workflows/docker-registry.yml @@ -49,13 +49,13 @@ jobs: VERSION=${GITHUB_REF#refs/tags/} echo "🏷️ Building release version: $VERSION" elif [[ $GITHUB_REF == refs/heads/main ]]; then - VERSION="v2.4.2-$(git rev-parse --short HEAD)" + VERSION="v2.4.3-$(git rev-parse --short HEAD)" echo "🚀 Building main version: $VERSION" elif [[ $GITHUB_REF == refs/heads/dev ]]; then - VERSION="v2.4.2-dev-$(git rev-parse --short HEAD)" + VERSION="v2.4.3-dev-$(git rev-parse --short HEAD)" echo "🧪 Building dev version: $VERSION" else - VERSION="v2.4.2-pr-$(git rev-parse --short HEAD)" + VERSION="v2.4.3-pr-$(git rev-parse --short HEAD)" echo "🔀 Building PR version: $VERSION" fi echo "version=$VERSION" >> $GITHUB_OUTPUT From f2fc7581a3a64e1b70958bd8394e63887b77849d Mon Sep 17 00:00:00 2001 From: Egor Date: Sat, 4 Oct 2025 07:37:47 +0300 Subject: [PATCH 4/5] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 57c770b0..dff92c5c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,7 +14,7 @@ RUN pip install --no-cache-dir --upgrade pip && \ FROM python:3.13-slim -ARG VERSION="v2.4.2" +ARG VERSION="v2.4.3" ARG BUILD_DATE ARG VCS_REF From 95525f213200434e41fc6941d68d4bbfdbeb6227 Mon Sep 17 00:00:00 2001 From: Egor Date: Sat, 4 Oct 2025 08:03:44 +0300 Subject: [PATCH 5/5] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1ae32c76..71c70984 100644 --- a/README.md +++ b/README.md @@ -155,7 +155,7 @@ docker compose logs 2. Убедитесь, что входящий трафик на **80/tcp и 443/tcp** открыт (брандмауэр, облачный фаервол). 3. В `.env` пропишите корректные URL, чтобы бот формировал ссылки с HTTPS-доменами: ```env - WEBHOOK_URL=https://hooks.example.com/webhook + WEBHOOK_URL=https://hooks.example.com WEB_API_ENABLED=true WEB_API_ALLOWED_ORIGINS=https://miniapp.example.com MINIAPP_CUSTOM_URL=https://miniapp.example.com