Splash/Long Text showing up multiple times

so basically first you press a button and it triggers a menu function

controller.menu.onEvent(ControllerButtonEvent.Pressed, function() {
    if (canPress = true) {
    Menu()
    }
})

then after the menu function

function Menu() {
    if (!guest) {
    blockMenu.setControlsEnabled(true)
    blockMenu.setColors(prim, sec)
    blockMenu.showMenu(["$100: Buy Case", "Inventory", "Stats", "Value List", "$500: Money Multiplier (" + moneyMultiplier + ")", "$500: Clickers (" + clickers + ")", "$300: Click Rate (" + clickRate + ")", "Save Game (Overwrites!!)", "Delete Game", "Close"], MenuStyle.List, MenuLocation.FullScreen)
    blockMenu.onMenuOptionSelected(function(option, index) {
        if (index == 0) {
            blockMenu.closeMenu()
            blockMenu.setControlsEnabled(false)
            pause(50)
            Buy()
        }
        if (index == 1) {
            blockMenu.closeMenu()
            blockMenu.setControlsEnabled(false)
            pause(200)
            game.showLongText("Coal: " + coal + ". Copper: " + copper + ". Iron: " + iron + ". Gold: " + gold + ". Lapis " + lapis + ". Turquoise: " + turquoise + ". Teal: " + teal + ". Amethyst: " + amethyst + ". Emerald: " + emerald + ". Ruby: " + ruby + ". Diamond: " + diamond + ".", DialogLayout.Full)
        }
        if (index == 2) {
            blockMenu.closeMenu()
            blockMenu.setControlsEnabled(false)
            pause(200)
            game.showLongText("Money: " + info.score() + ". Value: " + finalValue + ". Money multiplier: " + moneyMultiplier + ". Clickers: " + clickers + ". Click rate: " + clickRate + ".", DialogLayout.Full)
        }
        if (index == 3) {
            blockMenu.closeMenu()
            blockMenu.setControlsEnabled(false)
            pause(200)
            game.showLongText("Coal Value: $10. Copper Value: $35. Iron Value: $50. Gold: $80. Lapis: 85. Turquoise: 90. Teal: 100. Amethyst: 120. Emerald: 150. Ruby: 200. Diamond: 500", DialogLayout.Full)
        }
        if (index == 4) {
            blockMenu.closeMenu()
            blockMenu.setControlsEnabled(false)
            let quantity = game.askForNumber("Quantity", 3)
            if (info.score() < 500 * quantity) {
                game.splash("You cannot buy this item.")
            }
            else {
            info.changeScoreBy(-500 * quantity)
            moneyMultiplier += quantity
            game.splash("Your money multiplier is now " + moneyMultiplier)
            }
        }
        if (index == 5) {
            blockMenu.closeMenu()
            blockMenu.setControlsEnabled(false)
            let quantity = game.askForNumber("Quantity", 3)
            if (info.score() < 500 * quantity) {
                game.splash("You cannot buy this item.")
            }
            else {
            let currentValue = clickers
            info.changeScoreBy(-500 * quantity)
            clickers += 1 * quantity
            game.splash("The amount of clickers is now " + clickers)
            }
        }
        if (index == 6) {
            blockMenu.closeMenu()
            blockMenu.setControlsEnabled(false)
            if (info.score() < 300) {
                game.splash("You cannot buy this item.")
            }
            else {
                if (clickRate >= 0.5) {
                info.changeScoreBy(-300)
                clickRate += -0.5
                game.splash("Your click rate is now " + clickRate)
                }
                else {
                game.splash("You are at the max click rate.")
                }
            }
        }
        if (index == 7) {
            blockMenu.closeMenu()
            blockMenu.setControlsEnabled(false)
            if (!guest) {
            let pass2 = game.askForString("Password?", 18)
            if (pass2 == password) {
            blockSettings.writeNumber("sMoney", info.score())
            blockSettings.writeNumber("sPrimary", prim)
            blockSettings.writeNumber("sSecondary", sec)
            blockSettings.writeNumber("sBackground", bg)
            blockSettings.writeNumber("sClickers", clickers)
            blockSettings.writeNumber("sMultiplier", moneyMultiplier)
            blockSettings.writeNumber("sClickrate", clickRate)
            blockSettings.writeNumber("coals", coal)
            blockSettings.writeNumber("coppers", copper)
            blockSettings.writeNumber("irons", iron)
            blockSettings.writeNumber("golds", gold)
            blockSettings.writeNumber("lapiss", lapis)
            blockSettings.writeNumber("turquoises", turquoise)
            blockSettings.writeNumber("teals", teal)
            blockSettings.writeNumber("amethysts", amethyst)
            blockSettings.writeNumber("emeralds", emerald)
            blockSettings.writeNumber("rubys", ruby)
            blockSettings.writeNumber("diamonds", diamond)
            game.splash("Game saved.")
            }
        }
        else {
            game.splash("Can't save on guest account.")
        }
        }
        if (index == 8) {
            blockMenu.closeMenu()
            blockMenu.setControlsEnabled(false)
            if (!guest) {
                let pass2 = game.askForString("Password? (this deletes everything including name and password!)", 18)
                if (pass2 == password) {
                    blockSettings.clear()
                    game.splash("All progress cleared :(")
                }
            }
            else {
                game.splash("You don't have an account to delete.")
            }
        }
        if (index == 9) {
            blockMenu.closeMenu()
            blockMenu.setControlsEnabled(false)
        }
    })
    }
}

there are many indexes,

this is from my game Gem Clicker/Ore Clicker and I’ve been having issues with this.