From 01f6cbd37ddfd4d8e152366d23ac1e6b43e9ea87 Mon Sep 17 00:00:00 2001 From: Andrey Date: Mon, 15 Jul 2024 23:10:32 +0300 Subject: [PATCH] HOT FIX for handle_start_message --- helper_bot/handlers/private/main.py | 39 ++++++++++++++--------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/helper_bot/handlers/private/main.py b/helper_bot/handlers/private/main.py index 8735e44..dbfa21a 100644 --- a/helper_bot/handlers/private/main.py +++ b/helper_bot/handlers/private/main.py @@ -52,16 +52,26 @@ BotDB = BotDB('database/tg-bot-database') ) async def handle_start_message(message: types.Message, state: FSMContext): try: - user_id = message.from_user.id + await message.forward(chat_id=GROUP_FOR_LOGS) full_name = message.from_user.full_name username = message.from_user.username - await message.forward(chat_id=GROUP_FOR_LOGS) - is_need_update = check_username_and_full_name(user_id, username, full_name) - if is_need_update: - BotDB.update_username_and_full_name(user_id, username, full_name) - await message.answer(f"Давно не виделись! Вижу что ты изменился;) Теперь буду звать тебя: {full_name} и ник @{username}") - await message.bot.send_message(chat_id=GROUP_FOR_LOGS, text=f'Для пользователя: {user_id} обновлены данные в БД.\nНовое имя: {full_name}\nНовый ник:{username}') - sleep(2) + first_name = message.from_user.first_name + is_bot = message.from_user.is_bot + language_code = message.from_user.language_code + user_id = message.from_user.id + current_date = datetime.now() + date = current_date.strftime("%Y-%m-%d %H:%M:%S") + if not BotDB.user_exists(user_id): + BotDB.add_new_user_in_db(user_id, first_name, full_name, username, is_bot, language_code, date, + date) + else: + is_need_update = check_username_and_full_name(user_id, username, full_name) + if is_need_update: + BotDB.update_username_and_full_name(user_id, username, full_name) + await message.answer(f"Давно не виделись! Вижу что ты изменился;) Теперь буду звать тебя: {full_name} и ник @{username}") + await message.bot.send_message(chat_id=GROUP_FOR_LOGS, text=f'Для пользователя: {user_id} обновлены данные в БД.\nНовое имя: {full_name}\nНовый ник:{username}') + sleep(1) + BotDB.update_date_for_user(date, user_id) await state.set_state("START") logger.info( f"Формирование приветственного сообщения для пользователя. Сообщение: {message.text} " @@ -77,18 +87,7 @@ async def handle_start_message(message: types.Message, state: FSMContext): await message.bot.send_message(chat_id=IMPORTANT_LOGS, text=f"Произошла ошибка при получении стикеров: {str(e)}\n\nTraceback:\n{traceback.format_exc()}") try: - user_id = message.from_user.id - full_name = message.from_user.full_name - username = message.from_user.username - first_name = message.from_user.first_name - is_bot = message.from_user.is_bot - language_code = message.from_user.language_code - current_date = datetime.now() - date = current_date.strftime("%Y-%m-%d %H:%M:%S") - if not BotDB.user_exists(user_id): - BotDB.add_new_user_in_db(user_id, first_name, full_name, username, is_bot, language_code, date, - date) - BotDB.update_date_for_user(date, user_id) + markup = get_reply_keyboard(BotDB, message.from_user.id) hello_message = messages.get_message(get_first_name(message), 'HELLO_MESSAGE') await message.answer(hello_message, reply_markup=markup)