I am writing a telegram bot with telethon which gets access to several chats in the account and parses messages from it into the database. When I try to use this bot I try to login, Telegram sends me authentication code. When I send this authentication code to the bot, authentication fails and telegram sends me such a message: Nobody gained access to your chats because the login was not completed. The code was entered correctly, but sign in was not allowed, because this code was previously shared by your account. Please don't share login codes with others, because they allow anyone to log in to your account and access your chats. Here is a code snippet of authentication: async def handle_app_info(bot, event): global app_state, last_message_id user_id = event.message.peer_id.user_id response = event.message.text parts = response.split() if len(parts) != 4: error_message = "Error: Invalid input format. Please provide all required information." await bot.send_message(user_id, error_message) return phone_number, app_id, app_hash, app_name = parts client = TelegramClient(StringSession(), app_id, app_hash) await client.connect() if not await client.is_user_authorized(): await client.send_code_request(phone_number) message = "Please enter the code sent to your Telegram app:" await bot.send_message(user_id, message) # Set user state to WAITING_CODE db.set_user_state(user_id, states.WAITING_CODE) # Set user state to WAITING_CODE app_state = AppState.WAITING_CODE last_message_id = event.message.id # Store the client object and phone number in the respective dictionaries clients[user_id] = client phone_numbers[user_id] = phone_number app_ids[user_id] = app_id app_hashes[user_id] = app_hash app_names[user_id] = app_name async def handle_code(bot, event): global app_state, last_message_id user_id = event.message.peer_id.user_id # Handle code input by the user code = event.message.text # Retrieve the client object and phone number from the respective dictionaries client = clients[user_id] phone_number = phone_numbers[user_id] app_id = app_ids[user_id] app_hash = app_hashes[user_id] app_name = app_names[user_id] # Sign in the user with the code they provided try: await client.sign_in(phone_number, code) except Exception as e: await bot.send_message(user_id, f"Failed to sign in: {e}") return # Save the session string session_string = client.session.save() # Save all connection data to the database db.save_connection_data(user_id, phone_number, app_id, app_hash, app_name, session_string) message = "Your Telegram app has been successfully connected to the bot." await bot.send_message(user_id, message) # Reset user state app_state = AppState.MAIN_MENU last_message_id = event.message.id # Reset user state db.set_user_state(user_id, states.MAIN_MENU) I have tried to disable 2FA on telegram, but it has not help. Does anybody have an idea what I am doing wrong? Thanks for your help Continue reading...