backend + telegram: добавлена обработка ошибок при регистрации

This commit is contained in:
2022-11-18 01:31:17 +03:00
parent a6fba9e3a0
commit 02685d28df
3 changed files with 31 additions and 12 deletions

View File

@@ -21,6 +21,9 @@ def registration():
last_name = data.get("last_name")
username = data.get("username")
existed_user = User.query.filter_by(tg_id=tg_id).first()
if not existed_user:
new_user = User(
tg_id=tg_id,
first_name=first_name,
@@ -31,4 +34,7 @@ def registration():
db.session.add(new_user)
db.session.commit()
return "Nice!", 200
return {"created": True, "id": new_user.id}
else:
return {"created": False, "id": existed_user.id}

View File

@@ -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()

View File

@@ -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__":