From 02685d28dff8da5f4e4a143d8e08c94b00383b17 Mon Sep 17 00:00:00 2001 From: Llloooggg Date: Fri, 18 Nov 2022 01:31:17 +0300 Subject: [PATCH] =?UTF-8?q?backend=20+=20telegram:=20=D0=B4=D0=BE=D0=B1?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BE=D0=B1=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE?= =?UTF-8?q?=D0=BA=20=D0=BF=D1=80=D0=B8=20=D1=80=D0=B5=D0=B3=D0=B8=D1=81?= =?UTF-8?q?=D1=82=D1=80=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/textsouls/main.py | 24 +++++++++++++++--------- telegram/textsouls/common.py | 8 +++++++- telegram/textsouls/main.py | 11 +++++++++-- 3 files changed, 31 insertions(+), 12 deletions(-) diff --git a/backend/textsouls/main.py b/backend/textsouls/main.py index cbfbfb5..3c514a3 100644 --- a/backend/textsouls/main.py +++ b/backend/textsouls/main.py @@ -21,14 +21,20 @@ def registration(): last_name = data.get("last_name") username = data.get("username") - new_user = User( - tg_id=tg_id, - first_name=first_name, - last_name=last_name, - username=username, - ) + existed_user = User.query.filter_by(tg_id=tg_id).first() - db.session.add(new_user) - db.session.commit() + if not existed_user: + new_user = User( + tg_id=tg_id, + first_name=first_name, + last_name=last_name, + username=username, + ) - return "Nice!", 200 + db.session.add(new_user) + db.session.commit() + + return {"created": True, "id": new_user.id} + + else: + return {"created": False, "id": existed_user.id} diff --git a/telegram/textsouls/common.py b/telegram/textsouls/common.py index ae53b8e..1ca4f5a 100644 --- a/telegram/textsouls/common.py +++ b/telegram/textsouls/common.py @@ -9,7 +9,13 @@ class Backend: base_url = config_data["backend_settings"]["base_url"] def post(self, relative_url, data): - requests.post(f"{self.base_url}{relative_url}", json=data) + try: + response = requests.post( + f"{self.base_url}{relative_url}", json=data + ) + return {"error": None, "response": response} + except Exception as err: + return {"error": err} backend = Backend() diff --git a/telegram/textsouls/main.py b/telegram/textsouls/main.py index 1eaf048..abbccd3 100755 --- a/telegram/textsouls/main.py +++ b/telegram/textsouls/main.py @@ -22,8 +22,15 @@ async def start(message): "last_name": tg_user.last_name, "username": tg_user.username, } - backend.post("/registration", ts_user) - await message.reply("Nice!") + result = backend.post("/registration", ts_user) + if not result["error"] and result["response"].ok: + data = json.loads(result["response"].text) + if data["created"]: + await message.reply("Добро пожаловать!") + else: + await message.reply("Добро пожаловать! Снова") + else: + await message.reply("Упс! Что-то пошло не так") if __name__ == "__main__":