my code:
@bot.tree.command(name="pminesv3", description="⛏️ Predicts Mines | Buyer Reqired")
async def pminesv2(Interaction: discord.Interaction, mines:int,safe_amount_to_predict:int):
    channel_id = Interaction.channel.id
    allowed = Access.check_channel(channel_id)

    invis = True 
    if allowed:
        invis = False 
  
    access = Access.check_access(Interaction)
    if access != True:
       await Access.no_acces(Interaction)


    e = discord.Embed(title=f"Mines", color=0xFF3333)

    e.set_footer(text="Space Predictor")

    e.add_field(name=f"**Please wait**", value=f"Loading. This can take a few seconds to complete", inline=False)

    e.set_thumbnail(url="https://cdn.discordapp.com/attachments/1025786107322978416/1094392372206510250/preview.jpg")

    await Interaction.response.send_message(content=f"<@{int(Interaction.user.id)}> ", embed=e,ephemeral=invis)
  

    user_info = db.get(user.userId == Interaction.user.id)
    if not user_info:
            e = discord.Embed(title=f"No Account", color=0xFF3333)

            e.set_footer(text="Space Predictor")
            e.add_field(name=f"**Missing**", value=f"You've no account linked", inline=False)

            e.set_thumbnail(url="https://cdn.discordapp.com/attachments/1025786107322978416/1094392372206510250/preview.jpg")

            await Interaction.edit_original_response(content=f"<@{int(Interaction.user.id)}> ", embed=e)
            return  

    xToken = user_info["x-auth-token"]
    headers = {"x-auth-token": xToken}


    mines_found = 0
    num_mines = int(mines)
    all_mine_locations = []

    headers = {"x-auth-token": xToken}
    json = scraper.get(
        f"https://rest-bf.blox.land/games/mines/history?size=0&page=0",
        headers=headers,
    ).json()


    while mines_found < num_mines * 10:
        for game in json["data"]:
            if game["minesAmount"] == int(num_mines):
                all_mine_locations.extend(game["mineLocations"])

                mines_found += num_mines  # Den skal ikke være 1
                if mines_found >= num_mines * 10:
                    break

    paid.fix_mines_locations(all_mine_locations)
    print(all_mine_locations)
    raaa = scraper.get(f"https://rest-bf.blox.land/user/wallet-history?size=1&page=0",headers=headers,).json()

    searchabe = 0
    if raaa["data"][searchabe]["reason"] == "Mines Game Deposit":
            round_id = raaa["data"][searchabe]["extraData"]["uuid"]
    else:
        round_id = "No game is started"

 
    if num_mines == 1:
        risky_amount_to_predict = 1 

    elif num_mines == 2:
        risky_amount_to_predict = 2

    elif num_mines == 3:
        risky_amount_to_predict = 3

    elif num_mines == 4:
        risky_amount_to_predict = 4

    elif num_mines == 5:
        risky_amount_to_predict = 5
    else:
        return 
    
    print(f"{Fore.RED}[info]{Fore.RESET} Got for {len(all_mine_locations) / num_mines} games! Total mines Amount: {len(all_mine_locations)}")
    print(f"{Fore.RED}[info]{Fore.RESET} Prediction for: {num_mines} mines")
    print(f"{Fore.RED}[info]{Fore.RESET} Safe Spots: {safe_amount_to_predict}")
    print(f"{Fore.RED}[info]{Fore.RESET} RoundID: {round_id}")

    # Set random seed for reproducibility
    np.random.seed(42)
    tf.random.set_seed(42)


    raw_mine_locations = all_mine_locations
    n_samples = len(raw_mine_locations) - 5
    train_data = np.zeros((n_samples, 25))
    train_labels = np.zeros((n_samples, 25))

    for i in range(n_samples):
        game_state = np.zeros(25)
        game_state[raw_mine_locations[i:i+5]] = 1
        train_data[i] = game_state
        train_labels[i, raw_mine_locations[i+5]] = 1

    # Split the data into training and testing sets.
    x_train, x_test, y_train, y_test = train_test_split(
        train_data, train_labels, test_size=0.2, random_state=42 # set random_state parameter to 42
    )

    # Build the neural network.
    model = Sequential()
    model.add(Dense(50, input_dim=25, activation="relu"))
    model.add(Dense(25, activation="sigmoid"))
    model.compile(loss="binary_crossentropy", optimizer="adam", metrics=["accuracy"])

    # Train the model.
    model.fit(x_train, y_train, validation_data=(x_test, y_test), epochs=1000, batch_size=10)

    # Evaluate the model on the testing set.
    _, accuracy = model.evaluate(x_test, y_test)


    # Predict safe and risky spots for a given game state.
    game_state = np.zeros(25)
    game_state[5] = 1


    
    n_safe = safe_amount_to_predict
    n_risky = risky_amount_to_predict

    preds = model.predict(np.array([game_state]))[0]
    safe_spots = np.argsort(preds)[-n_safe:]
    risky_spots = np.argsort(preds)[:n_risky]
  

    print("5 Safe Spots:", safe_spots)
    print("3 Possible Bomb Locations:", risky_spots)
    print(f"Predicted safe spots: {safe_spots}")
    print("Accuracy: %.2f%%" % (accuracy * 100))

    grid = ["❌"] * 25
    for i in safe_spots:
        if str(i) == "1":
            pass
        else:
            grid[i - 1] = "✅" # - 1 ellers er de forkert

    for i in risky_spots:
        if str(i) == "1":
            pass 
        else:
            if i == 1:
                grid[0] = "💣"
            else:
                grid[i - 1] = "💣"
    

    print(grid[0] + grid[1] + grid[2] + grid[3]+grid[4])
    print(grid[5] + grid[6] + grid[7] + grid[8]+grid[9])
    print(grid[10] + grid[11] + grid[12] + grid[13]+grid[14])
    print(grid[15] + grid[16] + grid[17] + grid[18]+grid[19])
    print(grid[20] + grid[21] + grid[22] + grid[23]+grid[24])


    e = discord.Embed(color=0xFF3333)

    e.add_field(
            name=f"",
            value="\n"
            + "```Row 1: "
            + grid[0]
            + grid[1]
            + grid[2]
            + grid[3]
            + grid[4]
            + "\nRow 2: "
            + grid[5]
            + grid[6]
            + grid[7]
            + grid[8]
            + grid[9]
            + "\nRow 3: "
            + grid[10]
            + grid[11]
            + grid[12]
            + grid[13]
            + grid[14]
            + "\nRow 4: "
            + grid[15]
            + grid[16]
            + grid[17]
            + grid[18]
            + grid[19]
            + "\nRow 5: "
            + grid[20]
            + grid[21]
            + grid[22]
            + grid[23]
            + grid[24] 
            + "```",
        )

    e.add_field(name=f"```RoundID:```", value=f"||{round_id}||", inline=False)
    e.add_field(name=f"Mines:", value=f" {num_mines}", inline=False)
    e.add_field(name=f"Safe Spots:", value=f"{safe_amount_to_predict}", inline=False)

    e.set_footer(text="Space Predictor - Premium")
    await Interaction.edit_original_response(content=f"<@{int(Interaction.user.id)}> ", embed=e)


my problem: I cant run other commands while it's running. I need to run other commands while its predicting, please make it so it allows other commands to be exucted while its running