User: чтобы из folders брало theme_id и group_id и по нему искало соответствие @dp.message_handler(ChatTypeFilter(types.ChatType.SUPERGROUP),
                    content_types=[types.ContentType.NEW_CHAT_TITLE, types.ContentType.MIGRATE_TO_CHAT_ID, types.ContentType.FORUM_TOPIC_EDITED])
async def handle_group_changes(message: types.Message):
    cursor = conn.cursor(buffered=True)
    try:
        chat = await bot.get_chat(message.chat.id)


        # Получаем старое имя группы из базы данных
        cursor.execute("SELECT name FROM folders WHERE group_id = %s", (message.chat.id,))
        old_name = cursor.fetchone()
        if old_name:
            old_name = old_name[0]  # Извлекаем имя из кортежа

        if message.content_type == types.ContentType.FORUM_TOPIC_EDITED:
            topic = message.forum_topic_edited
            name = topic.name

            # Обновляем имя папки в базе данных
            cursor.execute("UPDATE folders SET name = %s WHERE group_id = %s", (name, message.chat.id))

            # Получаем user_id для уведомления
            cursor.execute("SELECT user_id FROM folders WHERE group_id = %s", (message.chat.id,))
            user_id = cursor.fetchone()  # Извлекаем данные из курсора

            if user_id:
                await bot.send_message(user_id[0], f"✅ Обнаружено переименовывание папки {old_name} была переименована в {name}")

        elif message.content_type == types.ContentType.MIGRATE_TO_CHAT_ID:
            cursor.execute("""
                UPDATE users SET
                    is_private = %s,
                    group_username = %s
                WHERE group_id = %s
            """, (
                chat.invite_link is None,  # Новый статус приватности
                chat.username,  # Новый username
                message.chat.id
            ))
            conn.commit()

        cursor.close()

    except ChatNotFound:
        logger.error("Чат не найден. Возможно, он был удален.")
    except Exception as e:
        logger.error(f"Ошибка обновления данных группы: {e}")
        conn.rollback()
        cursor.close()
User: чтобы из folders брало theme_id и group_id и по нему искало соответствие @dp.message_handler(ChatTypeFilter(types.ChatType.SUPERGROUP),
                    content_types=[types.ContentType.NEW_CHAT_TITLE, types.ContentType.MIGRATE_TO_CHAT_ID, types.ContentType.FORUM_TOPIC_EDITED])
async def handle_group_changes(message: types.Message):
    cursor = conn.cursor(buffered=True)
    try:
        chat = await bot.get_chat(message.chat.id)


        # Получаем старое имя группы из базы данных
        cursor.execute("SELECT name FROM folders WHERE group_id = %s", (message.chat.id,))
        old_name = cursor.fetchone()
        if old_name:
            old_name = old_name[0]  # Извлекаем имя из кортежа

        if message.content_type == types.ContentType.FORUM_TOPIC_EDITED:
            topic = message.forum_topic_edited
            name = topic.name

            # Обновляем имя папки в базе данных
            cursor.execute("UPDATE folders SET name = %s WHERE group_id = %s", (name, message.chat.id))

            # Получаем user_id для уведомления
            cursor.execute("SELECT user_id FROM folders WHERE group_id = %s", (message.chat.id,))
            user_id = cursor.fetchone()  # Извлекаем данные из курсора

            if user_id:
                await bot.send_message(user_id[0], f"✅ Обнаружено переименовывание папки {old_name} была переименована в {name}")

        elif message.content_type == types.ContentType.MIGRATE_TO_CHAT_ID:
            cursor.execute("""
                UPDATE users SET
                    is_private = %s,
                    group_username = %s
                WHERE group_id = %s
            """, (
                chat.invite_link is None,  # Новый статус приватности
                chat.username,  # Новый username
                message.chat.id
            ))
            conn.commit()

        cursor.close()

    except ChatNotFound:
        logger.error("Чат не найден. Возможно, он был удален.")
    except Exception as e:
        logger.error(f"Ошибка обновления данных группы: {e}")
        conn.rollback()
        cursor.close()
Assistant: