async def METHOD_NAME(self, interaction: nextcord.Interaction):
    assert self.view is not None
    view: TicTacToe = self.view
    state = view.board[self.y][self.x]
    if state in (view.X, view.O):
        return
    if view.current_player == view.X:
        self.style = nextcord.ButtonStyle.danger
        self.label = "X"
        self.disabled = True
        view.board[self.y][self.x] = view.X
        view.current_player = view.O
        content = "It is now O's turn"
    else:
        self.style = nextcord.ButtonStyle.success
        self.label = "O"
        self.disabled = True
        view.board[self.y][self.x] = view.O
        view.current_player = view.X
        content = "It is now X's turn"
    winner = view.check_board_winner()
    if winner is not None:
        if winner == view.X:
            content = "X won!"
        elif winner == view.O:
            content = "O won!"
        else:
            content = "It's a tie!"
        for child in view.children:
            child.disabled = True
        view.stop()
    await interaction.response.edit_message(content=content, view=view)